รหัสสถานที่จะระบุสถานที่อย่างไม่ซ้ำกันในฐานข้อมูลของ Google Places และบน Google Maps ระบบยอมรับรหัสสถานที่เมื่อส่งคำขอไปยัง Maps API ต่อไปนี้
- การดึงข้อมูลที่อยู่สำหรับรหัสสถานที่ในบริการเว็บ Geocoding API และบริการ Geoที่อยู่ในรายการ, Maps JavaScript API
- การระบุจุดอ้างอิงต้นทาง จุดหมาย และระดับกลางในบริการเว็บ Routes API และ Directions API รวมถึงบริการเส้นทาง, Maps JavaScript API
- การระบุต้นทางและปลายทางใน Routes API บริการเว็บ Distance Matrix API และ Distance Matrix Service ของ Maps JavaScript API
- การเรียกดูรายละเอียดสถานที่ในบริการเว็บ Places API, Places SDK สำหรับ Android, Places SDK สำหรับ iOS และไลบรารี Places
- การใช้พารามิเตอร์รหัสสถานที่ใน Maps ฝัง API
- กําลังเรียกคําค้นหาใน URL ของ Maps
- แสดงการจำกัดความเร็วใน Roads API
- การค้นหาและจัดรูปแบบรูปหลายเหลี่ยมของขอบเขตในการจัดรูปแบบตามข้อมูลสำหรับขอบเขต
ค้นหารหัสของสถานที่ที่ต้องการ
คุณกำลังมองหารหัสสถานที่ของสถานที่หนึ่งใช่ไหม ใช้เครื่องมือค้นหารหัสสถานที่ด้านล่างเพื่อค้นหาสถานที่และดูรหัสของสถานที่
หรือจะดูเครื่องมือค้นหารหัสสถานที่ด้วยรหัสในเอกสารประกอบของ Maps JavaScript API ก็ได้
ภาพรวม
รหัสสถานที่คือตัวระบุแบบข้อความที่ระบุสถานที่อย่างไม่ซ้ำกัน ความยาวของตัวระบุอาจแตกต่างกันไป (ไม่ได้กำหนดความยาวสูงสุดสำหรับรหัสสถานที่) ตัวอย่าง
-
ChIJgUbEo8cfqokR5lP9_Wh_DaM
-
GhIJQWDl0CIeQUARxks3icF8U8A
-
EicxMyBNYXJrZXQgU3QsIFdpbG1pbmd0b24sIE5DIDI4NDAxLCBVU0EiGhIYChQKEgnRTo6ixx-qiRHo_bbmkCm7ZRAN
-
EicxMyBNYXJrZXQgU3QsIFdpbG1pbmd0b24sIE5DIDI4NDAxLCBVU0E
-
IhoSGAoUChIJ0U6OoscfqokR6P225pApu2UQDQ
รหัสสถานที่ใช้ได้กับสถานที่ตั้งส่วนใหญ่ รวมถึงธุรกิจ จุดสังเกต สวนสาธารณะ และทางแยก สถานที่แห่งเดียวหรือสถานที่ตั้งเดียวกันอาจมีรหัสสถานที่ที่แตกต่างกันได้หลายรหัส รหัสสถานที่อาจเปลี่ยนแปลงเมื่อเวลาผ่านไป
คุณสามารถใช้รหัสสถานที่เดียวกันใน Places API และ Google Maps Platform API หลายรายการได้ เช่น คุณสามารถใช้รหัสสถานที่เดียวกันเพื่ออ้างอิงสถานที่ใน Places API, Maps JavaScript API, Geocoding API, Maps ฝัง API และ Roads API
ดึงรายละเอียดสถานที่โดยใช้รหัสสถานที่
วิธีทั่วไปในการใช้รหัสสถานที่คือการค้นหาสถานที่ (เช่น ใช้ Places API หรือไลบรารี Places ใน Maps JavaScript API) แล้วใช้รหัสสถานที่ที่ส่งคืนเพื่อเรียกดูรายละเอียดสถานที่ คุณจัดเก็บรหัสสถานที่และใช้รหัสดังกล่าวเพื่อเรียกดูรายละเอียดสถานที่เดียวกันได้ในภายหลัง อ่านเกี่ยวกับการบันทึกรหัสสถานที่ด้านล่าง
ตัวอย่างการใช้ Places SDK สำหรับ iOS
รหัสสถานที่คือตัวระบุแบบข้อความที่ระบุสถานที่อย่างไม่ซ้ำกัน ใน Places SDK สำหรับ iOS คุณจะเรียกข้อมูลรหัสของสถานที่จากออบเจ็กต์ GMSPlace
ได้ คุณจัดเก็บรหัสสถานที่และใช้รหัสดังกล่าวเพื่อเรียกข้อมูลออบเจ็กต์ GMSPlace
อีกครั้งในภายหลังได้
หากต้องการรับข้อมูลสถานที่ด้วยรหัส ให้เรียก GMSPlacesClient
fetchPlaceFromPlaceID:
แล้วส่งผ่านพารามิเตอร์ต่อไปนี้
- สตริงที่มีรหัสสถานที่
GMSPlaceField
อย่างน้อย 1 รายการซึ่งระบุประเภทข้อมูลที่จะแสดงผล- โทเค็นเซสชันหากมีการเรียกใช้เพื่อสรุปคำค้นหาที่เติมข้อความอัตโนมัติ มิฉะนั้นให้ป้อน nil
GMSPlaceResultCallback
เพื่อจัดการผลลัพธ์
API จะเรียกใช้เมธอดโค้ดเรียกกลับที่ระบุ โดยส่งผ่านออบเจ็กต์ GMSPlace
หากไม่พบสถานที่ ออบเจ็กต์สถานที่จะเป็น nil
Swift
// A hotel in Saigon with an attribution. let placeID = "ChIJV4k8_9UodTERU5KXbkYpSYs" // Specify the place data types to return. let fields: GMSPlaceField = GMSPlaceField(rawValue: UInt(GMSPlaceField.name.rawValue) | UInt(GMSPlaceField.placeID.rawValue))! placesClient?.fetchPlace(fromPlaceID: placeID, placeFields: fields, sessionToken: nil, callback: { (place: GMSPlace?, error: Error?) in if let error = error { print("An error occurred: \(error.localizedDescription)") return } if let place = place { self.lblName?.text = place.name print("The selected place is: \(place.name)") } })
Objective-C
// A hotel in Saigon with an attribution. NSString *placeID = @"ChIJV4k8_9UodTERU5KXbkYpSYs"; // Specify the place data types to return. GMSPlaceField fields = (GMSPlaceFieldName | GMSPlaceFieldPlaceID); [_placesClient fetchPlaceFromPlaceID:placeID placeFields:fields sessionToken:nil callback:^(GMSPlace * _Nullable place, NSError * _Nullable error) { if (error != nil) { NSLog(@"An error occurred %@", [error localizedDescription]); return; } if (place != nil) { NSLog(@"The selected place is: %@", [place name]); } }];
บันทึกรหัสสถานที่ไว้ใช้ภายหลัง
รหัสสถานที่ได้รับการยกเว้นจากข้อจํากัดการแคชที่ระบุไว้ในส่วนที่ 3.2.3(ข) ของข้อกําหนดในการให้บริการของ Google Maps Platform ดังนั้นคุณจึงจัดเก็บค่ารหัสสถานที่ไว้ใช้ในภายหลังได้
กำลังรีเฟรชรหัสสถานที่ที่จัดเก็บไว้
เราขอแนะนำให้รีเฟรชรหัสสถานที่หากมีอายุมากกว่า 12 เดือน คุณรีเฟรชรหัสสถานที่ได้โดยไม่มีค่าใช้จ่าย ด้วยการสร้างคำขอรายละเอียดสถานที่ โดยระบุเฉพาะช่อง GMSPlaceFieldPlaceID
ในพารามิเตอร์ fields
การเรียกนี้จะทริกเกอร์
รายละเอียดสถานที่ - การรีเฟรชรหัส
SKU
คําขอนี้อาจแสดงรหัสสถานะ NOT_FOUND
ด้วย กลยุทธ์หนึ่งคือการจัดเก็บคำขอเดิมที่ส่งคืนรหัสสถานที่แต่ละรายการ หากรหัสสถานที่ไม่ถูกต้อง คุณออกคำขอนั้นอีกครั้งได้เพื่อรับผลการค้นหาใหม่ ผลการค้นหาเหล่านี้อาจมีข้อมูลสถานที่เดิมหรือไม่ก็ได้ อย่างไรก็ตาม คำขอนี้จะเรียกเก็บเงินได้
รหัสข้อผิดพลาดเมื่อใช้รหัสสถานที่
รหัสสถานะ INVALID_REQUEST
บ่งบอกว่ารหัสสถานที่ที่ระบุไม่ถูกต้อง ระบบอาจแสดงผล INVALID_REQUEST
เมื่อมีการตัดหรือแก้ไขรหัสสถานที่ ซึ่งไม่ถูกต้องอีกต่อไป
รหัสสถานะ NOT_FOUND
บ่งบอกว่ารหัสสถานที่ที่ระบุล้าสมัย รหัสสถานที่อาจล้าสมัยหากธุรกิจปิดหรือย้ายไปยังสถานที่ใหม่ รหัสสถานที่อาจเปลี่ยนแปลงเนื่องจากมีการอัปเดตเป็นจํานวนมากในฐานข้อมูลของ Google Maps ในกรณีดังกล่าว สถานที่อาจได้รับรหัสสถานที่ใหม่ และรหัสเก่าจะแสดงการตอบกลับ NOT_FOUND
กล่าวคือ บางครั้งรหัสสถานที่บางประเภทอาจทำให้ระบบตอบกลับด้วย NOT_FOUND
หรือ API อาจแสดงรหัสสถานที่อื่นในการตอบกลับ ประเภทรหัสสถานที่เหล่านี้ ได้แก่
- ที่อยู่ที่ไม่ได้อยู่ใน Google Maps เป็นที่อยู่ที่ถูกต้อง แต่สรุปจากช่วงของที่อยู่
- ส่วนของเส้นทางระยะไกลที่คำขอระบุเมืองหรือย่านด้วย
- ทางแยก
- สถานที่ที่มีองค์ประกอบที่อยู่ประเภท
subpremise
รหัสเหล่านี้มักอยู่ในรูปแบบสตริงยาว (ไม่มีความยาวสูงสุดสำหรับรหัสสถานที่) เช่น
EpID4LC14LC_4LCo4LCv4LGN4LCo4LCX4LCw4LGNIC0g4LC44LGI4LCm4LGN4LCs4LC-4LCm4LGNIOCwsOCxi-CwoeCxjeCwoeCxgSAmIOCwteCwv-CwqOCwr-CxjSDgsKjgsJfgsLDgsY0g4LCu4LGG4LCv4LC_4LCo4LGNIOCwsOCxi-CwoeCxjeCwoeCxgSwg4LC14LC_4LCo4LCv4LGNIOCwqOCwl-CwsOCxjSDgsJXgsL7gsLLgsKjgsYAsIOCwsuCwleCxjeCwt-CxjeCwruCwv-CwqOCwl-CwsOCxjSDgsJXgsL7gsLLgsKjgsYAsIOCwuOCwsOCxguCwsOCxjSDgsKjgsJfgsLDgsY0g4LC14LGG4LC44LGN4LCf4LGNLCDgsLjgsK_gsYDgsKbgsL7gsKzgsL7gsKbgsY0sIOCwueCxiOCwpuCwsOCwvuCwrOCwvuCwpuCxjSwg4LCk4LGG4LCy4LCC4LCX4LC-4LCjIDUwMDA1OSwg4LCt4LC-4LCw4LCk4LCm4LGH4LC24LCCImYiZAoUChIJ31l5uGWYyzsR9zY2qk9lDiASFAoSCd9ZebhlmMs7Efc2NqpPZQ4gGhQKEglDz61OZpjLOxHgDJCFY-o1qBoUChIJi37TW2-YyzsRr_uv50r7tdEiCg1MwFcKFS_dyy4