Mã địa điểm giúp 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 tới các API Maps sau:
- Truy xuất địa chỉ cho ID địa điểm trong dịch vụ web API mã hóa địa lý và Dịch vụ mã hóa địa lý, API JavaScript của Maps.
- Chỉ định điểm gốc, điểm đến và điểm tham chiếu trung gian trong dịch vụ web API tuyến đường và API chỉ dẫn cũng như Dịch vụ chỉ đường, API JavaScript cho Maps.
- Chỉ định 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 từ xa, API JavaScript của Maps.
- Truy xuất thông tin chi tiết về địa điểm trong dịch vụ web API Địa điểm, SDK địa điểm dành cho Android, SDK địa điểm dành cho iOS và Thư viện địa điểm.
- Sử dụng thông số ID địa điểm trong API nhúng Maps.
- 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à tạo kiểu đa giác ranh giới bằng cách tạo kiểu theo hướng dữ liệu về ranh giới.
Tìm mã của một địa điểm cụ thể
Bạn đang tìm kiếm mã địa điểm của một địa điểm cụ thể? Hãy sử dụng công cụ tìm mã địa điểm bên dưới để tìm một địa điểm và lấy 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ụ này 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 nhận dạng 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 API Địa điểm 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 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 Maps và API Đường.
Truy xuất chi tiết địa điểm bằng mã đị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), sau đó 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à dùng mã này để truy xuất thông tin chi tiết về cùng một địa điểm vào lúc khác. 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 iOS
Mã địa điểm là giá trị nhận dạng dạng văn bản giúp nhận dạng duy nhất một địa điểm. Trong SDK Địa điểm dành cho iOS, bạn có thể truy xuất mã nhận dạng của một địa điểm từ đối tượng GMSPlace
. Bạn có thể lưu trữ mã địa điểm và sử dụng mã đó để truy xuất lại đối tượng GMSPlace
sau này.
Để nhận một địa điểm theo mã nhận dạng, hãy gọi GMSPlacesClient
fetchPlaceFromPlaceID:
, truyền các tham số sau:
- Một chuỗi ký tự chứa mã địa điểm.
- Một hoặc nhiều
GMSPlaceField
, chỉ định kiểu dữ liệu cần trả về. - Mã thông báo phiên nếu lệnh gọi được thực hiện để kết thúc một truy vấn tự động hoàn thành. Nếu không, hãy chuyển sang giá trị nil.
GMSPlaceResultCallback
để xử lý kết quả.
API gọi phương thức gọi lại được chỉ định, truyền vào đối tượng GMSPlace
. Nếu không tìm thấy địa điểm, thì đối tượng của địa điểm sẽ là không có.
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]); } }];
Lưu mã địa điểm để sử dụng sau này
Mã địa điểm được miễn tuân theo quy định hạn chế về việc lưu vào bộ nhớ đệm nêu trong Mục 3.2.3(b) của Điều khoản dịch vụ của Nền tảng Google Maps. Do đó, bạn có thể lưu trữ 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 GMSPlaceFieldPlaceID
trong tham số fields
.
Lệnh gọi này kích hoạt SKU Địa điểm chi tiết – Làm mới mã nhận dạng. Tuy nhiên, 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ề từng
mã địa điểm. Nếu mã địa điểm không 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ể chứa hoặc không bao gồm địa điểm gốc. Yêu cầu sẽ có thể bị tính phí.
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à mã này 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 một doanh nghiệp đóng cửa hoặc chuyển đến
địa điểm mới. Mã địa điểm có thể thay đổi do các thay đổi trên quy mô lớn trên cơ sở dữ liệu 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 trên 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 có dạng 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