Tìm điểm đến

Nhà phát triển ở Khu vực kinh tế Châu Âu (EEA)

A Destination là một vị trí hoặc địa điểm cụ thể mà người dùng dự định đến hoặc di chuyển đến. Destination (Đích đến) 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 điều hướng, địa danh, lối vào và đường viền toà nhà.

Phương thức SearchDestinations của API Geocoding 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 kiếm đích đến

Yêu cầu tìm kiếm đích đến là yêu cầu POST HTTP đến một URL theo mẫu sau:

https://geocode.googleapis.com/v4/geocode/destinations

Truyền tất cả tham số trong nội dung yêu cầu JSON hoặc trong tiêu đề như 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 kiếm một đích đến theo một trong 3 cách sau:

  • Địa chỉ
  • Mã địa điểm
  • Vĩ độ và kinh độ

Tìm kiếm đích đế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ý theo đị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 một đị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à một số ví dụ về truy vấn không được hỗ trợ:

Loại truy vấn Ví dụ
Vĩ độ và kinh độ. Thay vào đó, hãy sử dụng truy vấn vị trí. "37.422131,-122.084801"
Có quá nhiều khái niệm hoặ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 truy vấn "Market Street San Francisco San Jose Airport"
Các thành phần địa chỉ bưu chính không được biểu thị 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 cửa hàng hoặc danh mục kết hợp với các vị trí mà những thực thể này không có mặt "Tesco near Dallas, Texas"
Truy vấn không rõ ràng có nhiều cách diễn giải "Charger drop-off"
Tên cũ không còn được sử dụng "Middlesex United Kingdom"
Ý định hoặc thành phần không liên quan đến địa lý "How many boats are in Ventura Harbor?"
Tên không chính thức hoặc tên tự đặt "The Jenga"
"The Helter Skelter"
Các thực thể chính trị lớn (Thành phố, Tiểu bang, Quốc gia) "New York City"
"California"
"USA"
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 ghi lại trong biểu mẫu HTML.

Tìm kiếm đích đế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 kiếm đích đến hoạt động hiệu quả nhất với Mã địa điểm đại diện cho các đích đến cụ thể, có thể điều hướng. Mã địa điểm cho các loại như establishment, point_of_interest, premise, street_address, và subpremise thường được hỗ trợ. Mã địa điểm không đại diện cho các vị trí riêng biệt, chẳng hạn như mã địa điểm được suy ra từ phạm vi địa chỉ (ví dụ: "10-20 Main St"), các đoạn của một tuyến đường không có số cụ thể hoặc mã cộng không được hỗ trợ. Mã địa điểm cho các 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 Tìm kiếm đích đến

Để đả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 Tìm kiếm đích đến. 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 includedPrimaryTypes tham số. Mã địa điểm do tính năng Tự động hoàn thành (Mới) trả về bằng bộ lọc được đề xuất sau đây được tính năng Tìm kiếm đích đến hỗ trợ:

"includedPrimaryTypes": [ "establishment", "point_of_interest", "premise", "street_address", "subpremise" ]

Ngoài ra, bạn không nên đặt include_pure_service_area_businesses cờ thành true trong yêu cầu Tự động hoàn thành (Mới).

Tìm kiếm đích đến theo vị trí

Bạn có thể tìm kiếm một đích đế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

API Geocoding v4 hỗ trợ OAuth 2.0 để xác thực. Để sử dụng OAuth với Geocoding API, mã thông báo OAuth phải được chỉ định phạm vi chính xác. Geocoding API hỗ trợ các phạm vi sau đây để sử dụng với phương thức Đích đến:

  • 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 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, vì đây là 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.

Phản hồi tìm kiếm đích đến

Phản hồi Tìm kiếm đích đến cung cấp thông tin chi tiết, theo bối cảnh theo từng khu vực cụ thể về vị trí.

Các đối tượng PlaceView trong phản hồi Tìm kiếm đích đến (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 các chuỗi cho biết(các) loại địa điểm.
  • primaryType: Một chuỗi cho biết loại chính của địa điểm.

Các giá trị chuỗi có thể có cho cả types và primaryType đều đượ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 về API.

primary

Địa điểm chính được truy vấn xác định 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ợ.
  • longText là nội dung mô tả hoặc tên đầy đủ bằng văn bản của thành phần địa chỉ do Trình mã hoá địa lý trả về.
  • shortText là tên rút gọn bằng văn bản cho thành phần địa chỉ (nếu có). Ví dụ: thành phần địa chỉ cho tiểu bang Alaska có thể có longText là "Alaska" và shortText là "AK" bằng cách sử dụng chữ viết tắt bưu chính gồm 2 chữ cái.
  • languageCode là ngôn ngữ được 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à đích đến chính là một phần của thực thể đó (ví dụ: một trung tâm thương mại chứa một cửa hàng).

subDestinations

Các vị trí cụ thể hơn trong đích đến chính (ví dụ: các căn hộ trong một toà nhà).

entrances

Các đối tượng trong mảng entrances[] có các trường sau:

  • location

    Mộ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ác đặc điểm của lối vào. Giá trị sau được hỗ trợ:

    • "PREFERRED"

    Cho biết lối vào này có thể cung cấp quyền truy cập thực tế vào đị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 cung cấp quyền truy cập vào địa điểm đó.

    Ví dụ: nếu địa điểm được trả về là một nhà hàng trong một trung tâm thương mại, thì các "PREFERRED" lối vào sẽ là những lối vào dẫn vào chính nhà hàng đó, trong khi các lối vào được trả về khác sẽ là các 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 thương mại.

    Nếu địa điểm được trả về là chính một toà nhà, thì các lối vào "PREFERRED" sẽ là những lối vào dẫn vào phần "chính" của toà nhà. Ví dụ: trong một trung tâm mua sắm, các lối vào "PREFERRED" sẽ là những lối vào cho phép truy cập vào khu vực sảnh chính, nhưng nếu một lối vào chỉ cung cấp quyền truy cập vào một cửa hàng ở bên cạnh toà nhà, thì đó sẽ không phải là lối vào "PREFERRED".

  • streetViewThumbnail và streetViewAnnotation

    Các tham số cho API Chế độ xem đường phố tĩnh, 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.

structureType

Loại cấu trúc mà địa điểm này đại diện.

  • POINT

    Một vị trí điểm.

  • SECTION

    Một tiểu mục của một toà nhà.

  • BUILDING

    Một toà nhà.

  • GROUNDS

    Một khu vực rộng lớn thường chứa 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 thương mại.

Trường navigationPoints trong phản hồi Geocoding chứa danh sách các điểm hữu ích để điều hướng đến địa điểm đó. Cụ thể, bạn nên sử dụng các điểm này làm điểm bắt đầu 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:

  • navigationPointToken là một mã thông báo chứa thông tin theo bối cảnh trong trường navigationPoints. 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.
  • location chứa giá trị vĩ độ, kinh độ của điểm điều hướng. Vị trí này sẽ luôn rất gần với mạng lưới đường bộ và đại diện cho điểm dừng hoặc điểm bắt đầu lý tưởng để điều hướng đến và đi từ một địa điểm. Điểm này được cố ý 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 địa điểm đó nằm.
  • travelModes là danh sách các chế độ di chuyển mà bạn có thể truy cập vào điểm điều hướng:
    • "DRIVE" là chế độ di chuyển tương ứng với chỉ đường lái xe.
    • "WALK" là chế độ di chuyển tương ứng với chỉ đường đi bộ.
  • usages là danh sách các cách sử dụng được điểm điều hướng hỗ trợ. Các cách sử dụng có thể là:
    • "DROPOFF"
    • "PICKUP"
    • "PARKING"

Đối với việc đón và trả khách, hãy sử dụng điểm điều hướng có chế độ di chuyển là DRIVE và cách sử dụng là PICKUP hoặc DROPOFF. Nếu không có điểm đón hoặc trả khách, hãy sử dụng điểm điều hướng lái xe hàng đầu.

  • altitude_meters chứ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ường altitude_meters để chọn đoạn đường tốt 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 đáng chú ý giúp người dùng hiểu được môi trường xung quanh đích đến.

arrivalSummary

Thông tin chi tiết dựa trên AI để hỗ trợ việc đến nơi. Xem phần Tóm tắt dựa trên AI.

parkingOptions

Thông tin chi tiết về bãi đỗ xe.

Định dạng của phản hồi

SearchDestinations trả về SearchDestinationsResponse theo biểu mẫu 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

  • Một trong 3 tham số sau đây phải có trong yêu cầu API, trong đó chỉ định địa chỉ, địa điểm hoặc vị trí để tìm kiếm một đích đế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 nạ trường phản hồi. Truyền mặt nạ trường phản hồi vào phương thức bằng cách sử dụng tham số URL $fields hoặc fields, hoặc bằng cách sử dụng tiêu đề HTTP X-Goog-FieldMask. Ví dụ: yêu cầu bên dưới sẽ chỉ trả về các lối vào, điểm điều hướng và mã địa điểm của đích đế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/destinations
      

    Không có danh sách mặc định 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 sẽ trả về lỗi. Đặt mặt nạ trường thành * để trả về tất cả các trường. 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 những loại navigationPoints cần trả về. Các điểm điều hướng cho các chế độ di chuyển khác sẽ bị lọc bỏ. Nếu travelModes không được đặt, thì các điểm điều hướng của tất cả các chế độ di chuyển đều có thể được trả về.

  • languageCode

    Ngôn ngữ cần trả về kết quả.

    • Xem danh sách các ngôn ngữ được hỗ trợ . Google thường cập nhật các ngôn ngữ được hỗ trợ, vì vậy danh sách này có thể không đầy đủ.
    • Nếu languageCode không được cung cấp, API sẽ mặc định sử dụng ngôn ngữ và tập lệnh địa phương 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ỗi INVALID_ARGUMENT.
    • API sẽ cố gắng 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 sẽ trả về địa chỉ đường phố được chuyển tự sang một tập lệnh mà người dùng có thể đọc được nếu cần, tuân theo ngôn ngữ ưu tiên. Tất cả các địa chỉ khác đều được trả về bằng ngôn ngữ ưu tiên. Tất cả cá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 tập hợp 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 khác nhau tuỳ theo ngôn ngữ, chẳng hạn như các từ viết tắt cho loại đường hoặc cá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ã khu vực dưới dạng giá trị mã CLDR gồm 2 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ụ đối với khu vự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ể sử 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 locationQuery tìm kiếm để đáp ứng các yêu cầu của bạn, chẳng hạn như chỉ trả về các đích đến là tòa nhà hoặc chỉ trả về các đích đến có địa chỉ rõ ràng.

    Lọc theo mức độ chi tiết về cấu trúc

    Bộ lọc structureType cho phép bạn chỉ định loại cấu trúc do truy vấn trả về:

    • Phân lập các 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ấu trúc cụ thể.
    • Tìm hiểu về các khu phức hợp: Sử dụng "structureType": "GROUNDS" để đảm bảo kết quả chính là toàn bộ khu vực. Điều này rất 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 thương mại.
    • Tập trung vào các đơn vị/phần: Sử dụng "structureType": "SECTION" để xác định các phần 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ỉ rõ ràng ở cấp đường phố. Bộ lọc addressability giúp bạn kiểm soát chất lượng đị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 phố, hãy sử dụng "addressability": "PRIMARY". Điều này rất hữu ích cho mục đích điều hướng hoặc hiển thị khi đị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 đó 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 sử dụng "addressability": "ANY". Bạn nên sử dụng tuỳ chọn 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ì tuỳ chọn này giúp cải thiện độ chính xác của các 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