Destination
đề cập đến một vị trí hoặc địa điểm cụ thể mà người dùng muốn đến hoặc di chuyển đến. Destination cũng bao gồm một tập hợp thông tin liên quan đến vị trí hoặc địa điểm, chẳng hạn như điểm chỉ đường, địa danh, lối vào và đường viền toà nhà.
Phương thức SearchDestinations của Geocoding API cho phép bạn truy xuất thông tin chi tiết về nhiều đích đến dựa trên các tiêu chí đầu vào khác nhau, chẳng hạn như địa chỉ, mã địa điểm hoặc toạ độ vĩ độ và kinh độ.
Yêu cầu tìm điểm đến
Yêu cầu tìm kiếm điểm đến là một yêu cầu POST HTTP đến một URL có dạng:
https://geocode.googleapis.com/v4/geocode/destinations
Truyền tất cả tham số trong phần nội dung yêu cầu JSON hoặc trong tiêu đề dưới dạng một phần của yêu cầu POST. Ví dụ:
curl -X POST -d '{
"place": "places/ChIJY8sv5-i2j4AR_S6BlDDR42w"
}' \
-H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \
-H "X-Goog-FieldMask: *" \
https://geocode.googleapis.com/v4/geocode/destinations
Bạn có thể chỉ định vị trí để tìm điểm đến theo một trong 3 cách sau:
- Địa chỉ
- Mã địa điểm
- Vĩ độ và kinh độ
Tìm điểm đến theo địa chỉ
Bạn có thể chỉ định địa chỉ dưới dạng một chuỗi không có cấu trúc. Tính năng mã hoá địa lý địa chỉ không phân giải toạ độ vĩ độ và kinh độ hoặc các chuỗi không có cấu trúc khác không đại diện cho địa chỉ. Các yêu cầu sử dụng những chuỗi như vậy không được hỗ trợ và có thể dẫn đến phản hồi lỗi hoặc hành vi không xác định. Sau đây là ví dụ về các cụm từ tìm kiếm không được hỗ trợ:
| Loại truy vấn | Ví dụ |
|---|---|
| Toạ độ vĩ độ và kinh độ. Thay vào đó, hãy sử dụng cụm từ tìm kiếm vị trí. | "37.422131,-122.084801" |
| Quá nhiều khái niệm hoặc quy tắc ràng buộc, chẳng hạn như tên của nhiều địa điểm, đường hoặc thành phố trong một cụm từ tìm kiếm | "Market Street San Francisco San Jose Airport" |
| Các thành phần của địa chỉ bưu chính không xuất hiện trên Google Maps |
"C/O John Smith 123 Main Street" "P.O. Box 13 San Francisco" |
| Tên của doanh nghiệp, chuỗi hoặc danh mục kết hợp với vị trí mà các pháp nhân này không có mặt | "Tesco gần Dallas, Texas" |
| Cụm từ tìm kiếm mơ hồ có nhiều cách diễn giải | "Nơi nhận bộ sạc" |
| Tên cũ không còn được sử dụng | "Middlesex, Vương quốc Anh" |
| Phần tử hoặc ý định không gian địa lý | "Có bao nhiêu chiếc thuyền ở Cảng Ventura?" |
| Tên không chính thức hoặc tên ảo |
"The Jenga" "The Helter Skelter" |
| Các thực thể chính trị lớn (Thành phố, Tiểu bang, Quốc gia) |
"Thành phố New York" "California" "Hoa Kỳ" |
| Tuyến đường không có địa chỉ cụ thể |
"1st Ave., NYC, NY" "I-95" |
curl -X POST -d '{
"addressQuery": {
"addressQuery": "601 S Bernardo Ave, Sunnyvale, CA 94087, USA"
}
}' \
-H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \
-H "X-Goog-FieldMask: *" \
https://geocode.googleapis.com/v4/geocode/destinations
hoặc dưới dạng
postalAddress:
curl -X POST -d '{
"addressQuery": {
"address": {
"addressLines": ["601 S Bernardo Ave"],
"locality": "Sunnyvale",
"postalCode": "94087",
"administrativeArea": "CA",
"regionCode": "US"
}
}
}' \
-H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \
-H "X-Goog-FieldMask: *" \
https://geocode.googleapis.com/v4/geocode/destinations
Bạn thường sử dụng định dạng postalAddress khi xử lý các thành phần địa chỉ được thu thập trong biểu mẫu HTML.
Tìm điểm đến theo mã địa điểm
Bạn có thể truy xuất một đích đến bằng cách cung cấp một mã địa điểm:
curl -X POST -d '{
"place": "places/ChIJY8sv5-i2j4AR_S6BlDDR42w"
}' \
-H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \
-H "X-Goog-FieldMask: *" \
https://geocode.googleapis.com/v4/geocode/destinations
Mã địa điểm được hỗ trợ
Phương thức Tìm điểm đến hoạt động hiệu quả nhất với Mã địa điểm đại diện cho các điểm đến cụ thể, có thể đi theo chỉ dẫn. Mã địa điểm cho các loại như establishment, point_of_interest, premise, street_address và subpremise thường được hỗ trợ. Chúng tôi không hỗ trợ những mã địa điểm không đại diện cho các vị trí riêng biệt, chẳng hạn như những mã địa điểm được suy luận từ dải địa chỉ (ví dụ: "10-20 Main St"), các đoạn đường không có số cụ thể hoặc mã cộng. Mã địa điểm cho những kết quả có diện tích quá lớn (ví dụ: "Thái Bình Dương") cũng không được hỗ trợ.
Sử dụng tính năng Tự động hoàn thành (Mới) với tính năng Điểm đến tìm kiếm
Để đảm bảo khả năng tương thích, hãy sử dụng Tính năng tự động hoàn thành (Mới) để tìm mã địa điểm dùng với tính năng Địa điểm tìm kiếm. Khi sử dụng tính năng Tự động hoàn thành (Mới), bạn nên lọc kết quả theo loại bằng cách sử dụng tham số includedPrimaryTypes. Search Destinations hỗ trợ mã địa điểm do tính năng Autocomplete (Mới) trả về bằng cách sử dụng bộ lọc được đề xuất sau:
"includedPrimaryTypes": [ "establishment", "point_of_interest", "premise", "street_address", "subpremise" ]
Ngoài ra, bạn không nên đặt cờ include_pure_service_area_businesses thành true trong yêu cầu Tự động hoàn thành (Mới).
Tìm kiếm điểm đến theo vị trí
Bạn có thể tìm một điểm đến bằng cách cung cấp toạ độ vĩ độ và kinh độ:
curl -X POST -d '{
"locationQuery": {
"location": {
"latitude": 37.37348780,
"longitude": -122.05678064
}
}
}' \
-H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \
-H "X-Goog-FieldMask: *" \
https://geocode.googleapis.com/v4/geocode/destinations
Sử dụng OAuth để đưa ra yêu cầu
Geocoding API phiên bản 4 hỗ trợ OAuth 2.0 để xác thực. Để sử dụng OAuth với Geocoding API, bạn phải chỉ định phạm vi chính xác cho mã thông báo OAuth. Geocoding API hỗ trợ các phạm vi sau để sử dụng với phương thức Destinations:
https://www.googleapis.com/auth/maps-platform.geocode– Sử dụng với tất cả các phương thức Geocoding API.
Ngoài ra, bạn có thể sử dụng phạm vi https://www.googleapis.com/auth/cloud-platform chung cho tất cả các phương thức của Geocoding API. Phạm vi đó hữu ích trong quá trình phát triển nhưng không hữu ích trong quá trình phát hành công khai, vì đây là một phạm vi chung cho phép truy cập vào tất cả các phương thức.
Để biết thêm thông tin và ví dụ, hãy xem bài viết Sử dụng OAuth.
Câu trả lời về điểm đến tìm kiếm
Phản hồi của Điểm đến tìm kiếm cung cấp bối cảnh phong phú, theo từng khu vực cụ thể về vị trí.
Các đối tượng PlaceView trong phản hồi của API Search Destinations (chẳng hạn như primary, các mục trong containingPlaces và landmarks) sử dụng các trường để cho biết loại địa điểm:
types: Một mảng chuỗi cho biết(các) loại địa điểm.primaryType: Một chuỗi cho biết loại địa điểm chính.
Các giá trị chuỗi có thể có cho cả types và primaryType được lấy từ Bảng A và Bảng B trên trang Loại địa điểm (Mới).
Phần này mô tả các trường phản hồi chính. Để biết đầy đủ thông tin chi tiết về tất cả các trường phản hồi, hãy xem Tài liệu tham khảo API.
primary
Địa điểm chính được xác định bằng cụm từ tìm kiếm trong yêu cầu.
addressComponents
Một mảng chứa các thành phần riêng biệt áp dụng cho địa chỉ này.
Mỗi thành phần địa chỉ thường chứa các trường sau:
types[]là một mảng cho biết loại thành phần địa chỉ. Xem danh sách các loại được hỗ trợ.longTextlà nội dung mô tả hoặc tên đầy đủ của thành phần địa chỉ do Trình mã hoá địa lý trả về.shortTextlà tên viết tắt của thành phần địa chỉ (nếu có). Ví dụ: một thành phần địa chỉ cho tiểu bang Alaska có thể cólongTextlà "Alaska" vàshortTextlà "AK" bằng cách sử dụng chữ viết tắt gồm 2 chữ cái của mã bưu chính.languageCodelà ngôn ngữ dùng để định dạng thành phần này, theo ký hiệu CLDR.
containingPlaces
Các thực thể lớn hơn mà vị trí chính thuộc về (ví dụ: một trung tâm mua sắm có chứa một cửa hàng).
subDestinations
Các vị trí cụ thể hơn trong điểm đến chính (ví dụ: căn hộ trong một toà nhà).
entrances
Các đối tượng trong mảng entrances[] có các trường sau:
locationMột cặp toạ độ vĩ độ/kinh độ duy nhất xác định vị trí của điểm vào và điểm ra của một địa điểm.
entrance_tags[]Một mảng các thẻ lối vào mô tả đặc điểm của lối vào. Giá trị sau đây được hỗ trợ:
"PREFERRED"
Cho biết lối vào này có thể là lối vào thực tế của địa điểm được trả về. Một địa điểm có thể có nhiều lối vào ưu tiên. Nếu một lối vào không có thẻ này, thì có nghĩa là lối vào đó nằm trong cùng một toà nhà nhưng không nhất thiết phải cung cấp lối vào địa điểm.
Ví dụ: nếu địa điểm được trả về là một nhà hàng trong trung tâm mua sắm, thì các lối vào
"PREFERRED"sẽ là những lối vào dẫn đến chính nhà hàng đó, còn các lối vào khác được trả về sẽ là những lối vào khác của toà nhà, chẳng hạn như lối vào các nhà hàng khác trong trung tâm mua sắm.Nếu địa điểm được trả về là một toà nhà, thì lối vào
"PREFERRED"sẽ là lối vào dẫn đến phần "chính" của toà nhà. Ví dụ: trong một trung tâm mua sắm, lối vào"PREFERRED"sẽ là lối vào cho phép đi vào khu vực sảnh chính, nhưng nếu một lối vào chỉ cho phép đi vào một cửa hàng ở bên hông toà nhà, thì đó sẽ không phải là lối vào"PREFERRED".streetViewThumbnailvàstreetViewAnnotationCác tham số cho Street View Static API, cho phép bạn hiển thị hình ảnh có liên quan cho các vị trí này. Tìm hiểu thêm về các trường này.
structureType
Loại cấu trúc mà địa điểm này đại diện.
POINTVị trí điểm.
SECTIONMột phần của toà nhà.
BUILDINGMột toà nhà.
GROUNDSMột khu vực rộng lớn thường có nhiều toà nhà, chẳng hạn như khuôn viên trường đại học, khu chung cư hoặc trung tâm mua sắm.
navigationPoints
Trường navigationPoints trong phản hồi Mã hoá địa lý chứa danh sách các điểm hữu ích cho việc di chuyển đến địa điểm. Cụ thể, các điểm này phải được dùng làm điểm xuất phát hoặc điểm kết thúc khi định tuyến trên mạng lưới đường bộ từ hoặc đến địa điểm đó.
Mỗi điểm điều hướng chứa các giá trị sau:
navigationPointTokenlà một mã thông báo chứa thông tin theo bối cảnh trong trườngnavigationPoints. Bạn có thể gửi mã thông báo này đến các API định tuyến và điều hướng để cải thiện trải nghiệm định tuyến và điều hướng trong ứng dụng của mình. Hãy xem bài viết Định tuyến bằng mã thông báo điểm điều hướng để biết thêm thông tin.locationchứa giá trị vĩ độ, kinh độ của điểm điều hướng. Vị trí này sẽ luôn ở rất gần mạng lưới đường và là điểm dừng hoặc điểm xuất phát lý tưởng để đi đến và đi từ một địa điểm. Điểm này được cố ý đặt lệch một chút so với đường tâm của đường để đánh dấu rõ ràng bên đường nơi có địa điểm.travelModeslà danh sách các chế độ di chuyển mà điểm điều hướng có thể truy cập:"DRIVE"là chế độ di chuyển tương ứng với chỉ đường lái xe."WALK"là phương tiện đi lại tương ứng với đường đi bộ.
usageslà danh sách các cách sử dụng được điểm điều hướng hỗ trợ. Các trường hợp sử dụng có thể là:"DROPOFF""PICKUP""PARKING"
Đối với điểm đón và trả khách, hãy sử dụng điểm đi theo chỉ dẫn có phương thức di chuyển là DRIVE và mục đích sử dụng là PICKUP hoặc DROPOFF. Nếu không có điểm đến lấy hàng hoặc trả hàng, hãy sử dụng điểm điều hướng lái xe ở trên cùng.
streetViewThumbnailvàentranceAnnotationcung cấp các tham số cho Street View Static API, cho phép bạn hiển thị hình ảnh có liên quan cho các vị trí này. Tìm hiểu thêm về các trường này.
altitude_meterschứa độ cao của điểm điều hướng tính bằng mét so với hình elip WGS-84. Trong trường hợp có các đoạn đường xếp chồng theo chiều dọc, hãy sử dụng trườngaltitude_metersđể chọn đoạn đường phù hợp nhất cho hệ thống của bạn điều hướng đến.
landmarks
Các địa điểm lân cận nổi bật để giúp người dùng hiểu rõ khu vực xung quanh điểm đến.
Mỗi điểm mốc chứa các trường sau:
placelà đối tượngPlaceViewđại diện cho địa danh này.relationalDescriptionlà nội dung mô tả mà con người có thể đọc được về mối quan hệ giữa điểm đến và địa danh, chẳng hạn như "Gần Toà nhà Empire State" hoặc "Đối diện Nhà Trắng".tags[]là một mảng các thẻ mô tả cách sử dụng địa danh trong bối cảnh của điểm đến:"ADDRESS": Một địa điểm nổi bật tại địa phương có thể dùng để xác định vị trí khái quát của điểm đến."ARRIVAL": Một địa điểm có thể giúp bạn đến đích, hữu ích cho việc đi theo chỉ dẫn khi gần đến đích.
straightLineDistanceMeterslà khoảng cách theo đường thẳng từ địa danh này đến điểm đến, tính bằng mét.travelDistanceMeterslà khoảng cách đi bộ từ địa danh này đến đích đến, tính bằng mét.
arrivalSummary
Thông tin chi tiết dựa trên AI để hỗ trợ bạn đến nơi. Xem bản tóm tắt do AI tạo.
parkingOptions
Thông tin chi tiết về bãi đỗ xe.
Định dạng phản hồi
SearchDestinations trả về một
SearchDestinationsResponse
có dạng JSON sau:
{ "destinations": [ { "primary": { "place": "places/ChIJY8sv5-i2j4AR_S6BlDDR42w", "displayName": { "text": "Arby's", "languageCode": "en" }, "primaryType": "fast_food_restaurant", "types": [ "fast_food_restaurant", "sandwich_shop", "deli", "meal_takeaway", "food_delivery", "american_restaurant", "restaurant", "food_store", "store", "food", "point_of_interest", "establishment" ], "formattedAddress": "Arby's, 601 S Bernardo Ave, Sunnyvale, CA 94087, USA", "postalAddress": { "regionCode": "US", "languageCode": "en", "postalCode": "94087", "administrativeArea": "CA", "locality": "Sunnyvale", "addressLines": [ "601 S Bernardo Ave" ] }, "structureType": "BUILDING", "location": { "latitude": 37.3734545, "longitude": -122.05693269999998 }, "displayPolygon": { "type": "Polygon", "coordinates": [ [ [ -122.056930138027, 37.3735253692531 ], [ -122.056960139391, 37.3735372663597 ], [ -122.056994129366, 37.3734828786847 ], [ -122.056969677395, 37.3734731161089 ], [ -122.057061762447, 37.3733261309656 ], [ -122.056979388817, 37.3732935577128 ], [ -122.056798860285, 37.3735818838642 ], [ -122.056875858081, 37.3736121235316 ], [ -122.056930138027, 37.3735253692531 ] ] ] } }, "containingPlaces": [ { "place": "places/ChIJYfdAFum2j4ARIcL2tjME3Sw", "displayName": { "text": "Cherry Chase Shopping Center", "languageCode": "en" }, "primaryType": "shopping_mall", "types": [ "shopping_mall", "point_of_interest", "establishment" ], "formattedAddress": "Cherry Chase Shopping Center, 663 S Bernardo Ave, Sunnyvale, CA 94087, USA", "postalAddress": { "regionCode": "US", "languageCode": "en", "postalCode": "94087-1020", "administrativeArea": "CA", "locality": "Sunnyvale", "addressLines": [ "663 S Bernardo Ave" ] }, "structureType": "GROUNDS", "location": { "latitude": 37.3731231, "longitude": -122.0578211 }, "displayPolygon": { "type": "Polygon", "coordinates": [ [ [ -122.057112227103, 37.3714618008523 ], [ -122.057076849821, 37.3715743611411 ], [ -122.056963607756, 37.3719081793948 ], [ -122.056865279559, 37.3722026053835 ], [ -122.056687872374, 37.3727258358476 ], [ -122.056580005889, 37.3730511370747 ], [ -122.056498845827, 37.3732994782583 ], [ -122.056338259713, 37.3737878663325 ], [ -122.056618678291, 37.373887693582 ], [ -122.056912102521, 37.3740010327191 ], [ -122.057532418159, 37.3742476426462 ], [ -122.057673926626, 37.3742441740031 ], [ -122.057735663106, 37.3742328516943 ], [ -122.057766531332, 37.3742220604378 ], [ -122.057797572967, 37.37420520725 ], [ -122.057828267759, 37.3741852342085 ], [ -122.058060299297, 37.3740060842535 ], [ -122.058199726081, 37.3737861673422 ], [ -122.05836707267, 37.373524542556 ], [ -122.058569622393, 37.3732018598683 ], [ -122.0587638478, 37.3728890198039 ], [ -122.058934661823, 37.3726036257774 ], [ -122.059164956851, 37.3722498383629 ], [ -122.058997784906, 37.3721804442035 ], [ -122.057936479838, 37.3717605636234 ], [ -122.057495827092, 37.3715860151634 ], [ -122.057112227103, 37.3714618008523 ] ] ] } } ], "landmarks": [ { "place": { "place": "places/ChIJXXTe7Oi2j4ARoMTA-D6Hjpg", "displayName": { "text": "Chase Bank", "languageCode": "en" }, "primaryType": "bank", "types": [ "bank", "atm", "finance", "point_of_interest", "establishment" ], "formattedAddress": "Chase Bank, 1234 W El Camino Real, Sunnyvale, CA 94087, USA", "postalAddress": { "regionCode": "US", "languageCode": "en", "postalCode": "94087", "administrativeArea": "CA", "locality": "Sunnyvale", "addressLines": [ "1234 W El Camino Real" ] }, "structureType": "POINT", "location": { "latitude": 37.373579, "longitude": -122.05752700000001 } }, "relationalDescription": { "text": "Near Chase Bank", "languageCode": "en" }, "tags": [ "ARRIVAL", "ADDRESS" ], "straightLineDistanceMeters": 61.182193756103516, "travelDistanceMeters": 63.075645446777344 }, { "place": { "place": "places/ChIJteQ0Fum2j4ARGi3tqK4Zm14", "displayName": { "text": "Safeway", "languageCode": "en" }, "primaryType": "grocery_store", "types": [ "grocery_store", "butcher_shop", "florist", "deli", "supermarket", "bakery", "food_delivery", "market", "manufacturer", "food_store", "store", "food", "service", "point_of_interest", "establishment" ], "formattedAddress": "Safeway, 639 S Bernardo Ave, Sunnyvale, CA 94087, USA", "postalAddress": { "regionCode": "US", "languageCode": "en", "postalCode": "94087", "administrativeArea": "CA", "locality": "Sunnyvale", "addressLines": [ "639 S Bernardo Ave" ] }, "structureType": "POINT", "location": { "latitude": 37.3727912, "longitude": -122.0581172 } }, "relationalDescription": { "text": "Around the corner from Safeway", "languageCode": "en" }, "tags": [ "ARRIVAL", "ADDRESS" ], "straightLineDistanceMeters": 158.65606689453125, "travelDistanceMeters": 131.1669921875 }, { "place": { "place": "places/ChIJu-PSYui2j4ARNiwOwBApGqk", "displayName": { "text": "Oil Changers", "languageCode": "en" }, "types": [ "car_repair", "service", "point_of_interest", "establishment" ], "formattedAddress": "Oil Changers, 1240 W El Camino Real, Sunnyvale, CA 94087, USA", "postalAddress": { "regionCode": "US", "languageCode": "en", "postalCode": "94087", "administrativeArea": "CA", "locality": "Sunnyvale", "addressLines": [ "1240 W El Camino Real" ] }, "structureType": "POINT", "location": { "latitude": 37.3743054, "longitude": -122.0584272 } }, "relationalDescription": { "text": "Down the road from Oil Changers", "languageCode": "en" }, "tags": [ "ARRIVAL" ], "straightLineDistanceMeters": 140.52459716796875, "travelDistanceMeters": 143.24220275878906 }, { "place": { "place": "places/ChIJKRbl5oG3j4ARwuvPGUmtCj0", "displayName": { "text": "Apni Mandi Farmers Market Sunnyvale", "languageCode": "en" }, "primaryType": "grocery_store", "types": [ "grocery_store", "cake_shop", "supermarket", "asian_grocery_store", "indian_restaurant", "meal_takeaway", "bakery", "manufacturer", "wholesaler", "restaurant", "food_store", "store", "food", "point_of_interest", "establishment" ], "formattedAddress": "Apni Mandi Farmers Market Sunnyvale, 1111 W El Camino Real, Sunnyvale, CA 94087, USA", "postalAddress": { "regionCode": "US", "languageCode": "en", "postalCode": "94087-1056", "administrativeArea": "CA", "locality": "Sunnyvale", "addressLines": [ "1111 W El Camino Real" ] }, "structureType": "POINT", "location": { "latitude": 37.3737199, "longitude": -122.0522958 } }, "relationalDescription": { "text": "Near Apni Mandi Farmers Market Sunnyvale", "languageCode": "en" }, "tags": [ "ADDRESS" ], "straightLineDistanceMeters": 410.37435913085938, "travelDistanceMeters": 479.49893188476562 }, { "place": { "place": "places/ChIJ8enMlui2j4AR2xXK5EHDhBs", "displayName": { "text": "Starbird Chicken", "languageCode": "en" }, "primaryType": "chicken_restaurant", "types": [ "chicken_restaurant", "fast_food_restaurant", "restaurant", "food", "point_of_interest", "establishment" ], "formattedAddress": "Starbird Chicken, 1241 W El Camino Real, Sunnyvale, CA 94087, USA", "postalAddress": { "regionCode": "US", "languageCode": "en", "postalCode": "94087-1028", "administrativeArea": "CA", "locality": "Sunnyvale", "addressLines": [ "1241 W El Camino Real" ] }, "structureType": "BUILDING", "location": { "latitude": 37.3746764, "longitude": -122.05708860000001 }, "displayPolygon": { "coordinates": [ [ [ -122.057003840785, 37.3747648209809 ], [ -122.057136852459, 37.3747919153144 ], [ -122.057205005705, 37.3745815131859 ], [ -122.057071994114, 37.3745544186944 ], [ -122.057003840785, 37.3747648209809 ] ] ], "type": "Polygon" } }, "relationalDescription": { "text": "Near Starbird Chicken", "languageCode": "en" }, "tags": [ "ADDRESS" ], "straightLineDistanceMeters": 87.348007202148438, "travelDistanceMeters": 214.08084106445312 } ], "entrances": [ { "location": { "latitude": 37.3735328, "longitude": -122.05694879999999 }, "tags": [ "PREFERRED" ], "place": "places/ChIJY8sv5-i2j4AR_S6BlDDR42w" } ], "navigationPoints": [ { "navigationPointToken": "ChIJeMt61tqvQkARWT2716SDXsASEgljyy_n6LaPgBH9LoGUMNHjbBoSCWPLL-foto-AEf0ugZQw0eNsIhIJhf5y6ei2j4ARz7yBW5KAPI4", "location": { "latitude": 37.3738659, "longitude": -122.05693620000001 }, "travelModes": [ "DRIVE", "WALK" ], "usages": [ "PARKING" ] } ] } ] }
Tham số bắt buộc
- Yêu cầu API phải có một trong 3 tham số sau đây, trong đó chỉ định địa chỉ, địa điểm hoặc vị trí để tìm kiếm điểm đến:
addressQuery– địa chỉ cần tìm.place– Mã địa điểm của địa điểm cần tìm.locationQuery– toạ độ vĩ độ và kinh độ của vị trí cần tìm.
FieldMask
Chỉ định danh sách các trường cần trả về trong phản hồi bằng cách tạo một mặt nạ trường phản hồi. Truyền mặt nạ trường phản hồi đến phương thức bằng cách sử dụng tham số URL
$fieldshoặcfields, hoặc bằng cách sử dụng tiêu đề HTTPX-Goog-FieldMask. Ví dụ: yêu cầu bên dưới sẽ chỉ trả về lối vào, điểm đi theo chỉ dẫn và mã địa điểm của điểm đến chính.curl -X POST -d '{"place": "places/ChIJG3kh4hq6j4AR_XuFQnV0_t8"}' \ -H "X-Goog-Api-Key: API_KEY" \ -H "Content-Type: application/json" \ -H "X-Goog-FieldMask: destinations.entrances,destinations.navigationPoints,destinations.primary.place" \ https://geocode.googleapis.com/v4/geocode/destinationsKhông có danh sách mặc định về các trường được trả về trong phản hồi. Nếu bạn bỏ qua mặt nạ trường, phương thức này sẽ trả về lỗi. Đặt mặt nạ trường thành
*để trả về tất cả các trường. Hãy xem phần Chọn các trường cần trả về để biết thêm thông tin chi tiết.
Thông số tùy chọn
-
travelModes
Chỉ định loại
navigationPointscần trả về. Các điểm điều hướng cho các phương thức di chuyển khác sẽ bị lọc bỏ. Nếu bạn không đặttravelModes, thì hệ thống có thể trả về điểm đi theo chỉ dẫn của tất cả phương tiện đi lại. languageCode
Ngôn ngữ để trả về kết quả.
- Xem danh sách ngôn ngữ được hỗ trợ. Google thường xuyên cập nhật các ngôn ngữ được hỗ trợ, vì vậy danh sách này có thể chưa đầy đủ.
-
Nếu bạn không cung cấp
languageCode, API sẽ mặc định sử dụng ngôn ngữ và tập lệnh của vị trí. Nếu bạn chỉ định một mã ngôn ngữ không hợp lệ, API sẽ trả về lỗiINVALID_ARGUMENT. - API này cố gắng hết sức để cung cấp địa chỉ đường phố mà cả người dùng và người dân địa phương đều có thể đọc được. Để đạt được mục tiêu đó, API này sẽ trả về địa chỉ đường phố bằng ngôn ngữ địa phương, được chuyển tự sang một hệ thống chữ viết mà người dùng có thể đọc được (nếu cần), đồng thời tuân thủ ngôn ngữ ưu tiên. Tất cả các địa chỉ khác được trả về bằng ngôn ngữ ưu tiên. Tất cả thành phần địa chỉ đều được trả về bằng cùng một ngôn ngữ, được chọn từ thành phần đầu tiên.
- Nếu không có tên bằng ngôn ngữ ưu tiên, API sẽ sử dụng kết quả trùng khớp gần nhất.
- Ngôn ngữ ưu tiên có ảnh hưởng nhỏ đến nhóm kết quả mà API chọn trả về và thứ tự trả về. Trình mã hoá địa lý diễn giải các từ viết tắt theo nhiều cách tuỳ thuộc vào ngôn ngữ, chẳng hạn như từ viết tắt cho các loại đường phố hoặc từ đồng nghĩa có thể hợp lệ trong một ngôn ngữ nhưng không hợp lệ trong ngôn ngữ khác.
regionCode
Mã vùng dưới dạng giá trị mã CLDR gồm hai ký tự. Không có giá trị mặc định. Hầu hết mã CLDR đều giống với mã ISO 3166-1.
Khi mã hoá địa lý một địa chỉ, mã hoá địa lý chuyển tiếp, tham số này có thể ảnh hưởng nhưng không hạn chế hoàn toàn kết quả từ dịch vụ đến khu vực được chỉ định. Khi mã hoá địa lý một vị trí hoặc một địa điểm, mã hoá địa lý ngược hoặc mã hoá địa lý địa điểm, bạn có thể dùng tham số này để định dạng địa chỉ. Trong mọi trường hợp, tham số này có thể ảnh hưởng đến kết quả dựa trên luật hiện hành.
-
placeFilter
Cho phép bạn lọc kết quả của một lượt tìm kiếm
locationQueryđể đáp ứng yêu cầu của bạn, chẳng hạn như chỉ trả về những điểm đến là toà nhà hoặc chỉ trả về những điểm đến có địa chỉ rõ ràng.Lọc theo mức độ chi tiết của cấu trúc
Bộ lọc
structureTypecho phép bạn chỉ định loại cấu trúc mà truy vấn trả về:- Tách riêng toà nhà: Sử dụng
"structureType": "BUILDING"để hiển thị đường viền toà nhà trên bản đồ hoặc xem thông tin chi tiết về một công trình cụ thể. - Tìm hiểu về khu phức hợp: Sử dụng
"structureType": "GROUNDS"để đảm bảo kết quả chính là toàn bộ khuôn viên. Điều này hữu ích khi truy vấn các khu vực lớn hơn như khuôn viên trường đại học hoặc trung tâm mua sắm. - Tập trung vào các căn hộ/khu vực: Sử dụng
"structureType": "SECTION"để xác định các khu vực trong một toà nhà.
Đảm bảo địa chỉ hữu ích
Không phải địa điểm nào cũng có địa chỉ đường phố rõ ràng. Bộ lọc
addressabilitygiúp bạn kiểm soát chất lượng của địa chỉ trong kết quả:- Yêu cầu địa chỉ chính rõ ràng: Để đảm bảo kết quả đích đến chính luôn có địa chỉ hoặc tên ở cấp đường, hãy sử dụng
"addressability": "PRIMARY". Điều này rất hữu ích cho mục đích chỉ đường hoặc hiển thị, trong đó địa chỉ rõ ràng là rất quan trọng. - Cho phép địa chỉ trong các đích đến phụ: Trong trường hợp địa điểm chính có thể không có địa chỉ, nhưng các đơn vị trong địa điểm đó thì có (chẳng hạn như các căn hộ trong một toà nhà),
"addressability": "WEAK"đảm bảo rằng ít nhất địa điểm chính hoặc một trong các đích đến phụ của địa điểm đó có địa chỉ. - Mọi kết quả: Nếu sự hiện diện của địa chỉ không liên quan đến trường hợp sử dụng của bạn, hãy dùng
"addressability": "ANY". Bạn nên sử dụng tính năng này khi chỉ cần các thuộc tính hình học như đường viền toà nhà và điểm điều hướng, vì tính năng này sẽ cải thiện độ chính xác của những kết quả này.
Ví dụ: Lọc các toà nhà có địa chỉ
curl -X POST -d '{ "locationQuery": { "location": { "latitude": 37.37348780, "longitude": -122.05678064 }, "placeFilter": { "structureType": "BUILDING", "addressability": "PRIMARY" } }, "languageCode": "en" }' \\ -H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \\ -H "X-Goog-FieldMask: place" \\ https://geocode.googleapis.com/v4/geocode/destinations - Tách riêng toà nhà: Sử dụng