บทนำ
รหัสสถานที่จะระบุสถานที่ในฐานข้อมูล Google Places และใน Google Maps โดยไม่ซ้ำกัน ระบบยอมรับรหัสสถานที่ ในคำขอไปยัง Maps API ต่อไปนี้
- การดึงที่อยู่สำหรับรหัสสถานที่ใน Geocoding API และ บริการการเข้ารหัสพิกัดภูมิศาสตร์, Maps JavaScript API
- การระบุต้นทาง ปลายทาง และจุดแวะพักกลางใน Routes API และ Directions API (เดิม) และบริการเส้นทาง, Maps JavaScript API (เดิม)
- การระบุต้นทางและปลายทางใน Routes API และ Distance Matrix API (เดิม) และ บริการเมทริกซ์ระยะทาง, Maps JavaScript API (เดิม)
- การดึงรายละเอียดสถานที่ใน Places API (ใหม่) Places SDK สำหรับ Android (ใหม่), Places SDK สำหรับ iOS (ใหม่) และ ไลบรารี Places
- การใช้พารามิเตอร์รหัสสถานที่ใน Maps Embed 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 Embed API และ Roads API
ดึงข้อมูลรายละเอียดสถานที่โดยใช้รหัสสถานที่
วิธีทั่วไปในการใช้รหัสสถานที่คือการค้นหาสถานที่โดยใช้ Places API หรือไลบรารี Places ใน Maps JavaScript API จากนั้นใช้รหัสสถานที่ที่แสดงผลเพื่อดึงรายละเอียดสถานที่ คุณสามารถจัดเก็บรหัสสถานที่และใช้เพื่อดึงรายละเอียดสถานที่เดียวกันในภายหลังได้ อ่านเกี่ยวกับการบันทึกรหัสสถานที่ได้ที่ส่วนท้ายของเอกสารนี้
ตัวอย่างต่อไปนี้แสดงวิธีขอ URL ของไอคอนสำหรับ Places API (ใหม่) และ Places API (เดิม)
Places API (ใหม่)
เมื่อใช้ Places API คุณจะค้นหารหัสสถานที่ได้โดยส่งคำขอการค้นหาข้อความ (ใหม่)
curl -X POST -d '{
"textQuery" : "Spicy Vegetarian Food in Sydney, Australia"
}' \
-H 'Content-Type: application/json' -H 'X-Goog-Api-Key: API_KEY' \
-H 'X-Goog-FieldMask: places.id,places.displayName,places.formattedAddress' \
'https://places.googleapis.com/v1/places:searchText'การตอบกลับจะมีรหัสสถานที่ในฟิลด์ id ดังที่แสดงด้านล่าง
{
"places": [
{
"id": "ChIJs5ydyTiuEmsR0fRSlU0C7k0",
"formattedAddress": "29 King St, Sydney NSW 2000, Australia",
"displayName": {
"text": "Peace Harmony",
"languageCode": "en"
}
},
...
}ตอนนี้คุณสามารถส่งคำขอรายละเอียดสถานที่ (ใหม่) โดยใส่รหัสสถานที่ใน URL คำขอได้แล้ว ดังนี้
https://places.googleapis.com/v1/places/ChIJs5ydyTiuEmsR0fRSlU0C7k0?fields=id,displayName&key=API_KEY
Places API (เดิม)
เมื่อใช้ Places API คุณจะค้นหารหัสสถานที่ได้โดยส่งคำขอการค้นหาสถานที่
ตัวอย่างต่อไปนี้คือคำขอค้นหาสถานที่ประเภท "ร้านอาหาร" ภายในรัศมี 1,500 เมตรจากจุดหนึ่งในซิดนีย์ ออสเตรเลีย ซึ่งมีคำว่า "ล่องเรือ"
https://maps.googleapis.com/maps/api/place/nearbysearch/json?location=-33.8670522,151.1957362&radius=1500&type=restaurant&keyword=cruise&key=YOUR_API_KEY
การตอบกลับจะมีรหัสสถานที่ในช่อง place_id ดังที่แสดงในข้อมูลโค้ดนี้
{
"html_attributions" : [],
"results" : [
{
"geometry" : {
"location" : {
"lat" : -33.870775,
"lng" : 151.199025
}
},
...
"place_id" : "ChIJrTLr-GyuEmsRBfy61i59si0",
...
}
],
"status" : "OK"
}ตอนนี้คุณสามารถส่งคำขอรายละเอียดสถานที่ (เดิม)
โดยใส่รหัสสถานที่ในพารามิเตอร์ place_id ได้แล้ว
https://maps.googleapis.com/maps/api/place/details/json?place_id=ChIJrTLr-GyuEmsRBfy61i59si0&key=YOUR_API_KEYบันทึกรหัสสถานที่ไว้ใช้ในภายหลัง
รหัสสถานที่จะได้รับการยกเว้นจากข้อจำกัดในการแคชที่ระบุไว้ใน ส่วนที่ 3.2.3(ข) ของข้อกำหนดในการให้บริการของ Google Maps Platform ดังนั้นคุณจึงจัดเก็บค่ารหัสสถานที่เพื่อใช้ในภายหลังได้
รีเฟรชรหัสสถานที่ที่จัดเก็บไว้
เนื่องจากรหัสสถานที่มีการเปลี่ยนแปลงได้เนื่องจากการอัปเดตฐานข้อมูล Google Maps Google จึงแนะนําให้
รีเฟรชรหัสสถานที่หากรหัสมีอายุมากกว่า 12 เดือน คุณสามารถรีเฟรชรหัสสถานที่ได้โดยไม่มีค่าใช้จ่ายด้วยการส่งคำขอรายละเอียดสถานที่ โดยระบุเฉพาะช่องรหัสสถานที่ในพารามิเตอร์ fields
Places API (ใหม่)
เช่น การใช้รายละเอียดสถานที่ (ใหม่)
https://places.googleapis.com/v1/places/ChIJ05IRjKHxEQ0RJLV_5NLdK2w?fields=id&key=API_KEY
Places API (เดิม)
เช่น การใช้ Places API (เดิม)
https://maps.googleapis.com/maps/api/place/details/json?place_id=ChIJ05IRjKHxEQ0RJLV_5NLdK2w&fields=place_id&key=API_KEY
การเรียกนี้จะทริกเกอร์ SKU ของ Place Detail New Essentials IDs Only หรือ Places Details - ID Refresh
รหัสข้อผิดพลาดเมื่อใช้รหัสสถานที่
INVALID_REQUEST
รหัสสถานะ INVALID_REQUEST บ่งชี้ว่ารหัสสถานที่ที่ระบุไม่ถูกต้อง INVALID_REQUEST อาจแสดงขึ้นเมื่อมีการตัดรหัสสถานที่หรือแก้ไขรหัสสถานที่ด้วยวิธีอื่น และรหัสสถานที่ไม่ถูกต้องอีกต่อไป
NOT_FOUND
รหัสสถานะ NOT_FOUND แสดงว่ารหัสสถานที่ที่ระบุ
ล้าสมัยแล้ว รหัสสถานที่อาจล้าสมัยหากธุรกิจปิดตัวลงหรือย้ายไป
สถานที่ใหม่ รหัสสถานที่อาจมีการเปลี่ยนแปลงเนื่องจากการอัปเดตฐานข้อมูล Google
Maps ด้วย ในกรณีดังกล่าว สถานที่อาจได้รับรหัสสถานที่ใหม่ และรหัสเก่า
จะแสดงการตอบกลับ NOT_FOUND
หากต้องการรีเฟรชผลลัพธ์ในกรณีที่รหัสสถานที่ล้าสมัย ให้จัดเก็บคำขอเดิมที่แสดงรหัสสถานที่แต่ละรายการและออกคำขออีกครั้งตามที่จำเป็น โปรดทราบว่าคำขอที่ออกใหม่จะ เรียกเก็บเงินตาม SKU ที่เหมาะสม
บางครั้งรหัสสถานที่บางประเภทอาจทำให้เกิดการตอบกลับ NOT_FOUND หรือ API อาจแสดงรหัสสถานที่อื่นในการตอบกลับ รหัสสถานที่ประเภทต่างๆ มีดังนี้
- ที่อยู่ถนนที่ไม่มีอยู่ใน Google Maps เป็นที่อยู่ที่แน่นอน แต่ได้มาจากการอนุมานจากช่วงของที่อยู่
- ส่วนของเส้นทางที่ยาว ซึ่งคำขอยังระบุเมืองหรือท้องถิ่นด้วย
- ทางแยก
- Places ที่มีคอมโพเนนต์ที่อยู่ประเภท
subpremise
รหัสเหล่านี้มักอยู่ในรูปแบบสตริงยาว (รหัสสถานที่ไม่จำกัดความยาวสูงสุด) เช่น
EpID4LC14LC_4LCo4LCv4LGN4LCo4LCX4LCw4LGNIC0g4LC44LGI4LCm4LGN4LCs4LC-4LCm4LGNIOCwsOCxi-CwoeCxjeCwoeCxgSAmIOCwteCwv-CwqOCwr-CxjSDgsKjgsJfgsLDgsY0g4LCu4LGG4LCv4LC_4LCo4LGNIOCwsOCxi-CwoeCxjeCwoeCxgSwg4LC14LC_4LCo4LCv4LGNIOCwqOCwl-CwsOCxjSDgsJXgsL7gsLLgsKjgsYAsIOCwsuCwleCxjeCwt-CxjeCwruCwv-CwqOCwl-CwsOCxjSDgsJXgsL7gsLLgsKjgsYAsIOCwuOCwsOCxguCwsOCxjSDgsKjgsJfgsLDgsY0g4LC14LGG4LC44LGN4LCf4LGNLCDgsLjgsK_gsYDgsKbgsL7gsKzgsL7gsKbgsY0sIOCwueCxiOCwpuCwsOCwvuCwrOCwvuCwpuCxjSwg4LCk4LGG4LCy4LCC4LCX4LC-4LCjIDUwMDA1OSwg4LCt4LC-4LCw4LCk4LCm4LGH4LC24LCCImYiZAoUChIJ31l5uGWYyzsR9zY2qk9lDiASFAoSCd9ZebhlmMs7Efc2NqpPZQ4gGhQKEglDz61OZpjLOxHgDJCFY-o1qBoUChIJi37TW2-YyzsRr_uv50r7tdEiCg1MwFcKFS_dyy4