ID địa điểm

Chọn nền tảng: Android iOS JavaScript Dịch vụ web

Mã địa điểm xác định duy nhất một địa điểm trong cơ sở dữ liệu Google Địa điểm và trên Google Maps. Mã địa điểm được chấp nhận trong các yêu cầu gửi đến API Maps sau đây:

  • Truy xuất địa chỉ cho một mã địa điểm trong dịch vụ web của API mã hoá địa lý và Dịch vụ mã hoá địa lý, API Maps JavaScript.
  • Chỉ định điểm gốc, điểm đến và điểm tham chiếu trung gian trong dịch vụ web và dịch vụ chỉ đường của API tuyến đường và API chỉ đường, Maps JavaScript API.
  • Chỉ định các nguồn gốc và đích đến trong API tuyến đường và dịch vụ web API ma trận từ xa cũng như Dịch vụ ma trận khoảng cách, API Maps JavaScript.
  • Truy xuất thông tin chi tiết về địa điểm trong dịch vụ web Places API, SDK Địa điểm cho Android, SDK Địa điểm cho iOS và Thư viện địa điểm.
  • Sử dụng thông số ID địa điểm trong API Nhúng bản đồ.
  • Truy xuất cụm từ tìm kiếm trong URL trên Maps.
  • Hiển thị giới hạn tốc độ trong API Đường.
  • Tìm và định kiểu đa giác ranh giới trong định kiểu dựa trên dữ liệu cho ranh giới.

Tìm mã của một địa điểm cụ thể

Có phải bạn đang tìm mã địa điểm của một địa điểm cụ thể không? Sử dụng công cụ tìm mã địa điểm bên dưới để tìm một địa điểm và xem mã của địa điểm đó:

Ngoài ra, bạn có thể xem công cụ tìm mã địa điểm bằng mã của công cụ tìm kiếm đó trong tài liệu về API JavaScript của Maps.

Tổng quan

Mã địa điểm là giá trị nhận dạng dạng văn bản giúp xác định duy nhất một địa điểm. Độ dài của giá trị nhận dạng có thể khác nhau (không có độ dài tối đa cho Mã địa điểm). Ví dụ:

  • ChIJgUbEo8cfqokR5lP9_Wh_DaM
  • GhIJQWDl0CIeQUARxks3icF8U8A
  • EicxMyBNYXJrZXQgU3QsIFdpbG1pbmd0b24sIE5DIDI4NDAxLCBVU0EiGhIYChQKEgnRTo6ixx-qiRHo_bbmkCm7ZRAN
  • EicxMyBNYXJrZXQgU3QsIFdpbG1pbmd0b24sIE5DIDI4NDAxLCBVU0E
  • IhoSGAoUChIJ0U6OoscfqokR6P225pApu2UQDQ

Mã địa điểm có sẵn cho hầu hết các vị trí, bao gồm cả doanh nghiệp, địa danh, công viên và giao lộ. Một địa điểm hoặc vị trí có thể có nhiều mã địa điểm khác nhau. Mã địa điểm có thể thay đổi theo thời gian.

Bạn có thể sử dụng cùng một mã địa điểm trên toàn bộ Places API và một số API Nền tảng Google Maps. Ví dụ: bạn có thể sử dụng cùng một mã địa điểm để tham chiếu đến một địa điểm trong API Địa điểm, API JavaScript của Maps, API Mã hoá địa lý, API Nhúng của MapsAPI Đường.

Truy xuất chi tiết địa điểm bằng cách sử dụng ID địa điểm

Một cách phổ biến để sử dụng mã địa điểm là tìm một địa điểm (ví dụ: sử dụng API Địa điểm hoặc Thư viện địa điểm trong API JavaScript của Maps), rồi sử dụng mã địa điểm được trả về để truy xuất thông tin chi tiết về địa điểm. Bạn có thể lưu trữ mã địa điểm và sử dụng mã này để truy xuất thông tin chi tiết về cùng một địa điểm đó sau này. Hãy đọc về cách lưu mã địa điểm ở bên dưới.

Ví dụ về cách sử dụng SDK Địa điểm dành cho Android

Trong SDK Địa điểm dành cho Android, bạn có thể truy xuất mã nhận dạng của một địa điểm bằng cách gọi Place.getId(). Dịch vụ Tự động hoàn thành địa điểm cũng trả về một mã địa điểm cho mỗi địa điểm khớp với cụm từ tìm kiếm và bộ lọc đã cung cấp. Sử dụng mã địa điểm để truy xuất lại đối tượng Place vào lúc khác.

Để biết một địa điểm theo mã nhận dạng, hãy gọi PlacesClient.fetchPlace(), truyền một FetchPlaceRequest.

API này sẽ trả về một FetchPlaceResponse trong Task. FetchPlaceResponse chứa đối tượng Place khớp với mã địa điểm đã cung cấp.

Mã ví dụ sau đây cho thấy việc gọi fetchPlace() để lấy thông tin chi tiết về địa điểm đã chỉ định.

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

      

Lưu mã địa điểm để sử dụng sau này

Mã địa điểm được miễn các hạn chế về việc lưu vào bộ nhớ đệm nêu trong Mục 3.2.3(b) trong Điều khoản dịch vụ của Nền tảng Google Maps. Do đó, bạn có thể lưu trữ các giá trị mã địa điểm để sử dụng sau này.

Làm mới mã địa điểm đã lưu trữ

Bạn nên làm mới các mã địa điểm đã tồn tại hơn 12 tháng. Bạn có thể làm mới Mã địa điểm mà không mất phí bằng cách tạo yêu cầu Thông tin chi tiết về địa điểm, chỉ định trường Place.Field.ID trong tham số fields. Lệnh gọi này kích hoạt SKU Thông tin chi tiết về địa điểm – Làm mới mã nhận dạng.

Yêu cầu này cũng có thể trả về mã trạng thái NOT_FOUND. Một chiến lược là lưu trữ yêu cầu ban đầu trả về mỗi mã địa điểm. Nếu mã địa điểm không còn hợp lệ, bạn có thể gửi lại yêu cầu đó để nhận được kết quả mới. Các kết quả này có thể bao gồm hoặc không bao gồm địa điểm gốc. Tuy nhiên, chúng tôi có thể tính phí cho yêu cầu này.

Mã lỗi khi sử dụng mã địa điểm

Mã trạng thái INVALID_REQUEST cho biết mã địa điểm được chỉ định không hợp lệ. INVALID_REQUEST có thể được trả về khi mã địa điểm đã bị cắt bớt hoặc sửa đổi và không còn chính xác nữa.

Mã trạng thái NOT_FOUND cho biết mã địa điểm được chỉ định đã lỗi thời. Mã địa điểm có thể trở nên lỗi thời nếu doanh nghiệp đóng cửa hoặc chuyển đến một địa điểm mới. Mã địa điểm có thể thay đổi do các cập nhật trên quy mô lớn trên cơ sở dữ liệu của Google Maps. Trong những trường hợp như vậy, một địa điểm có thể nhận được mã địa điểm mới và mã cũ sẽ trả về phản hồi NOT_FOUND.

Cụ thể, một số loại mã địa điểm đôi khi có thể gây ra phản hồi NOT_FOUND hoặc API có thể trả về một mã địa điểm khác trong phản hồi. Các loại mã địa điểm này bao gồm:

  • Địa chỉ đường phố không tồn tại trong Google Maps dưới dạng địa chỉ chính xác, nhưng được suy ra từ một dải địa chỉ.
  • Các đoạn của một tuyến đường dài, trong đó yêu cầu cũng chỉ định một thành phố hoặc địa phương.
  • Giao lộ.
  • Địa điểm có thành phần địa chỉ thuộc loại subpremise.

Các mã nhận dạng này thường ở dạng một chuỗi dài (không có độ dài tối đa cho Mã địa điểm). Ví dụ:

EpID4LC14LC_4LCo4LCv4LGN4LCo4LCX4LCw4LGNIC0g4LC44LGI4LCm4LGN4LCs4LC-4LCm4LGNIOCwsOCxi-CwoeCxjeCwoeCxgSAmIOCwteCwv-CwqOCwr-CxjSDgsKjgsJfgsLDgsY0g4LCu4LGG4LCv4LC_4LCo4LGNIOCwsOCxi-CwoeCxjeCwoeCxgSwg4LC14LC_4LCo4LCv4LGNIOCwqOCwl-CwsOCxjSDgsJXgsL7gsLLgsKjgsYAsIOCwsuCwleCxjeCwt-CxjeCwruCwv-CwqOCwl-CwsOCxjSDgsJXgsL7gsLLgsKjgsYAsIOCwuOCwsOCxguCwsOCxjSDgsKjgsJfgsLDgsY0g4LC14LGG4LC44LGN4LCf4LGNLCDgsLjgsK_gsYDgsKbgsL7gsKzgsL7gsKbgsY0sIOCwueCxiOCwpuCwsOCwvuCwrOCwvuCwpuCxjSwg4LCk4LGG4LCy4LCC4LCX4LC-4LCjIDUwMDA1OSwg4LCt4LC-4LCw4LCk4LCm4LGH4LC24LCCImYiZAoUChIJ31l5uGWYyzsR9zY2qk9lDiASFAoSCd9ZebhlmMs7Efc2NqpPZQ4gGhQKEglDz61OZpjLOxHgDJCFY-o1qBoUChIJi37TW2-YyzsRr_uv50r7tdEiCg1MwFcKFS_dyy4