รหัสสถานที่ระบุสถานที่เฉพาะในฐานข้อมูลของ Google Places และบน Google แผนที่ ระบบจะยอมรับรหัสสถานที่ในคําขอไปยัง Maps API ต่อไปนี้
- การดึงที่อยู่ของรหัสสถานที่ในบริการเว็บการเข้ารหัส Geocoding API และบริการ Geocoding API, แผนที่ JavaScript API
- การระบุจุดต้นทาง จุดหมาย และขั้นกลางในบริการเว็บ Directions API และบริการเส้นทาง, Maps JavaScript API
- การระบุต้นทางและปลายทางในบริการเว็บ Distance Matrix API และบริการ Distance Matrix Service, Maps JavaScript API
- การเรียกดูรายละเอียด Places ในบริการผ่านเว็บ Places API, Places SDK สําหรับ Android, Places SDK สําหรับ iOS และ Places Library
- การใช้พารามิเตอร์รหัสสถานที่ใน API การฝังแผนที่
- การเรียกดูข้อความค้นหาใน URL แผนที่
- แสดงขีดจํากัดความเร็วใน Roads API
- ค้นหาและจัดรูปแบบรูปหลายเหลี่ยมตามขอบเขตในการจัดรูปแบบจากข้อมูลสําหรับขอบเขต
ค้นหารหัสของสถานที่นั้นๆ
คุณกําลังมองหารหัสสถานที่ของสถานที่ที่เจาะจงใช่ไหม ใช้โปรแกรมค้นหารหัสสถานที่ด้านล่างเพื่อค้นหาสถานที่และรับรหัส
หรือจะ ดู เครื่องมือค้นหารหัสสถานที่ด้วยโค้ดของ Google ในเอกสารประกอบของ 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 ได้
เรียกข้อมูลรายละเอียดสถานที่โดยใช้รหัสสถานที่
รหัสสถานที่ได้รับการยกเว้นจากข้อจํากัดการแคชที่ระบุในส่วนที่ 3.2.3(ข) ของข้อกําหนดในการให้บริการของ Google Maps Platform เมื่อระบุ รหัสสถานที่แล้ว คุณจะนําค่านั้นมาใช้ซ้ําได้เมื่อทําการค้นหาสถานที่นั้นในครั้งถัดไป ดูข้อมูลเพิ่มเติมได้ที่บันทึกรหัสสถานที่ไว้ใช้ในภายหลังด้านล่าง
วิธีทั่วไปในการใช้รหัสสถานที่คือการค้นหาสถานที่ (โดยใช้ Places API หรือคลัง Places ใน Maps JavaScript API) จากนั้นใช้รหัสสถานที่ที่แสดงผลเพื่อเรียกรายละเอียดสถานที่ คุณจะจัดเก็บรหัสสถานที่และใช้เพื่อเรียกข้อมูลรายละเอียดสถานที่เดียวกันในภายหลังได้ อ่านเกี่ยวกับการบันทึกรหัสสถานที่ด้านล่าง
ตัวอย่างการใช้ Places SDK สําหรับ Android
ใน Places SDK สําหรับ Android คุณเรียกดูรหัสของสถานที่ได้โดยการเรียก Place.getId()
บริการเติมข้อความอัตโนมัติยังจะแสดงรหัสสถานที่สําหรับแต่ละสถานที่ที่ตรงกับคําค้นหาและตัวกรองที่จัดเตรียมไว้ให้ด้วย ใช้รหัสสถานที่เพื่อเรียกออบเจ็กต์ Place
อีกครั้งในภายหลัง
หากต้องการรับสถานที่โดยใช้รหัส โทรหา PlacesClient.fetchPlace()
เพื่อผ่าน FetchPlaceRequest
API จะแสดงผล FetchPlaceResponse
ใน Task
FetchPlaceResponse
มีออบเจ็กต์ Place
ที่ตรงกับรหัสสถานที่ที่ระบุ
ตัวอย่างโค้ดต่อไปนี้แสดงการเรียกใช้ fetchPlace()
เพื่อรับรายละเอียดของตําแหน่งที่ระบุ
Java
// Define a Place ID. final String placeId = "INSERT_PLACE_ID_HERE"; // Specify the fields to return. final List<Place.Field> placeFields = Arrays.asList(Place.Field.ID, Place.Field.NAME); // Construct a request object, passing the place ID and fields array. final FetchPlaceRequest request = FetchPlaceRequest.newInstance(placeId, placeFields); placesClient.fetchPlace(request).addOnSuccessListener((response) -> { Place place = response.getPlace(); Log.i(TAG, "Place found: " + place.getName()); }).addOnFailureListener((exception) -> { if (exception instanceof ApiException) { final ApiException apiException = (ApiException) exception; Log.e(TAG, "Place not found: " + exception.getMessage()); final int statusCode = apiException.getStatusCode(); // TODO: Handle error with given status code. } });
Kotlin
// Define a Place ID. val placeId = "INSERT_PLACE_ID_HERE" // Specify the fields to return. val placeFields = listOf(Place.Field.ID, Place.Field.NAME) // Construct a request object, passing the place ID and fields array. val request = FetchPlaceRequest.newInstance(placeId, placeFields) placesClient.fetchPlace(request) .addOnSuccessListener { response: FetchPlaceResponse -> val place = response.place Log.i(PlaceDetailsActivity.TAG, "Place found: ${place.name}") }.addOnFailureListener { exception: Exception -> if (exception is ApiException) { Log.e(TAG, "Place not found: ${exception.message}") val statusCode = exception.statusCode TODO("Handle error with given status code") } }
บันทึกรหัสสถานที่ไว้ใช้ในภายหลัง
รหัสสถานที่ได้รับการยกเว้นจากข้อจํากัดการแคชที่ระบุในส่วนที่ 3.2.3(ก) ของข้อกําหนดในการให้บริการของ Google Maps Platform คุณจึงจัดเก็บค่ารหัสสถานที่ไว้ใช้ในภายหลังได้
กําลังรีเฟรชรหัสสถานที่ที่เก็บไว้
เราขอแนะนําให้รีเฟรชรหัสสถานที่หากมีอายุมากกว่า 12 เดือน คุณสามารถ
รีเฟรชรหัสสถานที่ได้โดยไม่มีค่าใช้จ่าย โดยสร้าง
คําขอรายละเอียดสถานที่
โดยระบุเฉพาะช่อง Place.Field.ID
ในพารามิเตอร์ 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