รหัสสถานที่

เลือกแพลตฟอร์ม Android iOS JavaScript บริการผ่านเว็บ

รหัสสถานที่จะระบุสถานที่ในฐานข้อมูล 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 หรือสถานที่ ใน Maps JavaScript API เป็นต้น) จากนั้นใช้ แสดงผลรหัสสถานที่เพื่อเรียกดูรายละเอียดสถานที่ คุณสามารถจัดเก็บรหัสสถานที่และ ใช้เพื่อเรียกรายละเอียดสถานที่เดิมในภายหลัง อ่านเกี่ยวกับ กำลังบันทึกรหัสสถานที่ด้านล่าง

ตัวอย่างการใช้ Places SDK สำหรับ Android

ใน Places SDK สำหรับ Android คุณสามารถดึงข้อมูลรหัสของสถานที่ได้โดย การโทร Place.getId() บริการเติมข้อความอัตโนมัติเกี่ยวกับสถานที่ จะแสดงรหัสสถานที่สำหรับแต่ละสถานที่ที่ตรงกับคำค้นหาที่ให้ไว้ด้วย และกรอง ใช้รหัสสถานที่เพื่อดึงข้อมูล Place อีกครั้งในภายหลัง

หากต้องการสถานที่โดยใช้บัตรประจำตัว ให้โทร PlacesClient.fetchPlace() การส่ง FetchPlaceRequest

API จะแสดงผล FetchPlaceResponse ใน Task FetchPlaceResponse มี Place ตรงกับรหัสสถานที่ที่ระบุ

ตัวอย่างโค้ดต่อไปนี้แสดงการเรียกใช้ fetchPlace() ไปยัง ดูรายละเอียดของสถานที่ที่ระบุ

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")
        }
    }

      

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.
    }
});

      

บันทึกรหัสสถานที่ไว้ใช้ภายหลัง

รหัสสถานที่ได้รับการยกเว้นจากข้อจำกัดการแคชที่ระบุไว้ใน ส่วนที่ 3.2.3(ข) ของข้อกำหนดในการให้บริการของ Google Maps Platform จึงสามารถจัดเก็บค่ารหัสสถานที่ไว้ใช้ภายหลังได้

กำลังรีเฟรชรหัสสถานที่ที่จัดเก็บไว้

เราขอแนะนำให้รีเฟรชรหัสสถานที่หากมีอายุเกิน 12 เดือน คุณ สามารถรีเฟรชรหัสสถานที่ได้โดยไม่มีค่าใช้จ่าย โดยสร้าง คำขอรายละเอียดสถานที่ การระบุเฉพาะ Place.Field.ID ในพารามิเตอร์ fields การเรียกนี้จะทริกเกอร์ รายละเอียดสถานที่ - รีเฟรชรหัส SKU

คำขอนี้อาจแสดงสถานะ NOT_FOUND ด้วย โค้ด กลยุทธ์หนึ่งคือการจัดเก็บคำขอเดิมที่ส่งผลลัพธ์กลับมาแต่ละแห่ง ID หากรหัสสถานที่ไม่ถูกต้อง คุณสามารถออกคำขอนั้นอีกครั้งเพื่ออัปเดตข้อมูล ผลลัพธ์ ผลการค้นหาเหล่านี้อาจรวมสถานที่ต้นฉบับหรือไม่ก็ได้ อย่างไรก็ตาม คำขอนี้ สามารถเรียกเก็บเงินได้

รหัสข้อผิดพลาดเมื่อใช้รหัสสถานที่

รหัสสถานะ INVALID_REQUEST ระบุว่ามีการระบุ รหัสสถานที่ไม่ถูกต้อง ระบบอาจแสดงผล INVALID_REQUEST เมื่อ รหัสสถานที่ถูกตัดทอนหรือปรับเปลี่ยน และทำให้ไม่ถูกต้องอีกต่อไป

รหัสสถานะ NOT_FOUND บ่งชี้ว่ารหัสสถานที่ที่ระบุ ล้าสมัย รหัสสถานที่อาจล้าสมัยหากธุรกิจปิดหรือย้ายไปที่ สถานที่ใหม่ รหัสสถานที่อาจมีการเปลี่ยนแปลงเนื่องจากการอัปเดตในวงกว้างบน Google ฐานข้อมูล Maps ในกรณีดังกล่าว สถานที่อาจได้รับรหัสสถานที่ใหม่ และแสดง ID จะแสดงการตอบกลับ 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