Giới thiệu
Mã địa điểm giúp xác định riêng một địa điểm trong cơ sở dữ liệu của 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 những Maps API sau:
- Lấy địa chỉ cho Mã địa điểm trong Geocoding API và Dịch vụ mã hoá địa lý, API Maps JavaScript.
- Chỉ định điểm xuất phát, điểm đến và điểm tham chiếu trung gian trong Routes API và Directions API (Cũ) và Dịch vụ chỉ đường, API Maps JavaScript (Cũ).
- Chỉ định điểm xuất phát và điểm đến trong Routes API và Distance Matrix API (Cũ) cũng như Distance Matrix Service, Maps JavaScript API (Cũ).
- Truy xuất thông tin chi tiết về địa điểm trong Places API (mới), Places SDK cho Android (mới), Places SDK cho iOS (mới) và Thư viện Địa điểm.
- Sử dụng các tham số mã địa điểm trong Maps Embed API.
- Truy xuất cụm từ tìm kiếm trong URL của Maps.
- Hiển thị giới hạn tốc độ trong Roads API.
- Tìm và định kiểu đa giác ranh giới trong tính năng định kiểu dựa trên dữ liệu cho ranh giới.
Tìm mã nhận dạng của một địa điểm cụ thể
Bạn đang tìm mã địa điểm của một địa điểm cụ thể? Sử dụng công cụ tìm mã địa điểm bên dưới để tìm kiếm một địa điểm và lấy mã địa điểm của địa điểm đó:
Ngoài ra, bạn có thể xem công cụ tìm mã địa điểm cùng với mã của công cụ này trong tài liệu Maps JavaScript API.
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 riêng biệt một địa điểm. Độ dài của giá trị nhận dạng có thể thay đổi (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 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 Places API và một số API của Nền tảng Google Maps. Ví dụ: bạn có thể dùng cùng một mã địa điểm để tham chiếu một địa điểm trong Places API, Maps JavaScript API, Geocoding API, Maps Embed API và Roads API.
Truy xuất thông tin chi tiết về đị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 kiếm một địa điểm bằng cách sử dụng Places API hoặc Thư viện địa điểm trong Maps JavaScript API. Sau đó, hãy sử dụng Mã địa điểm được trả về để truy xuất Place Details. Bạn có thể lưu trữ Mã địa điểm và sử dụng mã này để truy xuất Place Details về cùng một địa điểm sau này. Đọc về cách lưu mã địa điểm ở phần sau của tài liệu này.
Các ví dụ sau đây cho thấy cách yêu cầu một URL biểu tượng cho Places API (Mới) và Places API (Cũ).
Places API (Mới)
Khi sử dụng Places API, bạn có thể tìm Mã địa điểm bằng cách thực hiện một yêu cầu Tìm kiếm văn bản (Mới).
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'Phản hồi bao gồm một mã địa điểm trong trường id, như minh hoạ dưới đây:
{
"places": [
{
"id": "ChIJs5ydyTiuEmsR0fRSlU0C7k0",
"formattedAddress": "29 King St, Sydney NSW 2000, Australia",
"displayName": {
"text": "Peace Harmony",
"languageCode": "en"
}
},
...
}Giờ đây, bạn có thể gửi yêu cầu Thông tin chi tiết về địa điểm (Mới) bằng cách thêm mã địa điểm vào URL yêu cầu:
https://places.googleapis.com/v1/places/ChIJs5ydyTiuEmsR0fRSlU0C7k0?fields=id,displayName&key=API_KEY
Places API (Cũ)
Khi sử dụng Places API, bạn có thể tìm mã địa điểm bằng cách thực hiện yêu cầu Tìm kiếm địa điểm.
Ví dụ sau đây là một yêu cầu tìm kiếm các địa điểm thuộc loại "nhà hàng" trong bán kính 1.500 m từ một điểm ở Sydney, Úc, có chứa từ "du thuyền":
https://maps.googleapis.com/maps/api/place/nearbysearch/json?location=-33.8670522,151.1957362&radius=1500&type=restaurant&keyword=cruise&key=YOUR_API_KEY
Phản hồi bao gồm một mã địa điểm trong trường place_id, như minh hoạ trong đoạn mã này:
{
"html_attributions" : [],
"results" : [
{
"geometry" : {
"location" : {
"lat" : -33.870775,
"lng" : 151.199025
}
},
...
"place_id" : "ChIJrTLr-GyuEmsRBfy61i59si0",
...
}
],
"status" : "OK"
}Giờ đây, bạn có thể gửi một yêu cầu Place Details (Phiên bản cũ), đặt Mã địa điểm vào tham số place_id:
https://maps.googleapis.com/maps/api/place/details/json?place_id=ChIJrTLr-GyuEmsRBfy61i59si0&key=YOUR_API_KEYLưu mã địa điểm để sử dụng sau
Mã địa điểm không phải tuân theo các quy định hạn chế về việc lưu vào bộ nhớ đệm được 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ữ 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ữ
Vì Mã địa điểm có thể thay đổi do nội dung cập nhật trên cơ sở dữ liệu của Google Maps, nên Google khuyên bạn nên
làm mới mã địa điểm nếu mã đó đã tồn tại hơn 12 tháng. Bạn có thể làm mới Mã địa điểm miễn phí bằng cách đưa ra một Place Details request, chỉ định trường mã địa điểm trong tham số fields.
Places API (Mới)
Ví dụ: sử dụng Place Details (New) (Chi tiết về địa điểm (Mới)):
https://places.googleapis.com/v1/places/ChIJ05IRjKHxEQ0RJLV_5NLdK2w?fields=id&key=API_KEY
Places API (Cũ)
Ví dụ: sử dụng Places API (Cũ):
https://maps.googleapis.com/maps/api/place/details/json?place_id=ChIJ05IRjKHxEQ0RJLV_5NLdK2w&fields=place_id&key=API_KEY
Lệnh gọi này chỉ kích hoạt Place Detail New Essentials IDs Only (Chỉ mã nhận dạng mới của thông tin chi tiết về địa điểm) hoặc Places Details - ID Refresh (Thông tin chi tiết về địa điểm – Làm mới mã nhận dạng) SKU.
Mã lỗi khi sử dụng mã địa điểm
INVALID_REQUEST
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 theo cách khác và không còn chính xác nữa.
NOT_FOUND
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
một vị trí mới. Mã địa điểm cũng có thể thay đổi do nội dung cập nhật 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ã địa điểm cũ sẽ trả về phản hồi NOT_FOUND.
Để làm mới kết quả trong trường hợp mã địa điểm không còn hiệu lực, hãy lưu trữ yêu cầu ban đầu đã trả về từng mã địa điểm và phát hành lại yêu cầu nếu cần. Xin lưu ý rằng yêu cầu được phát hành lại sẽ được tính phí theo SKU thích hợp.
Đôi khi, một số loại mã địa điểm 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 luận 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