Google 地图链接

Places API(新版)可通过多种方法接受地点数据请求。Places API(新版)响应包含地点相关数据,包括位置数据和图像、地理位置以及著名地图注点。

文本搜索(新版)、附近搜索(新版)和地点详情(新版)的响应也可能包含指向 Google 地图的链接。您的用户可以浏览这些 Google 地图链接,在回答中查看有关地点的更多信息。

例如,您搜索了加利福尼亚州旧金山的机场。然后,响应会在地点列表中包含旧金山国际机场 (SFO)。响应中 SFO 的 Place 对象添加了 googleMapsUri 字段,其中包含 Google 地图链接,用于在 Google 地图中打开该地点、前往该地点的路线、该地点的评价以及该地点的照片。

除了添加到 Place 对象的链接之外,googleMapsUri 字段也会添加到响应中的 Reviews 和 Photos 对象:

  • Reviews.googleMapsUri:包含指向评价的 Google 地图链接,以便您在浏览器中查看。

  • Photos.googleMapsUri:包含指向照片的 Google 地图链接,以便您在浏览器中查看。

借助 API Explorer,您可以发出实时请求,以便熟悉以下新选项:

试试看!

下表显示了您可以在响应中包含的 Google 地图链接:

Google 地图链接 说明 字段名称
地点 用于在 Google 地图中打开该地点的链接。 googleMapsLinks.placeUri
路线 用于在 Google 地图中打开前往该地点的路线的链接。 googleMapsLinks.directionsUri
撰写评价 用于在 Google 地图中为该地点撰写评价的链接。 googleMapsLinks.writeAReviewUri
阅读评价 用于显示该地点的 Google 地图评价的链接。 googleMapsLinks.reviewsUri
照片 用于在 Google 地图中显示该地点照片的链接。 googleMapsLinks.photosUri

地点响应中的链接包含在 googleMapsLinks 字段中。如果您希望这些字段显示在响应中,请务必在请求的字段掩码中添加 googleMapsLinks 字段。

例如,以下文本搜索(新版)请求会在响应中包含所有地图链接:

curl -X POST -d '{
  "textQuery" : "San Francisco International Airport"
}' \
-H 'Content-Type: application/json' -H 'X-Goog-Api-Key: API_KEY' \
-H 'X-Goog-FieldMask: places.displayName,places.formattedAddress,places.priceLevel,places.googleMapsLinks' \
'https://places.googleapis.com/v1/places:searchText'

响应采用以下形式:

{
  "places": [
    {
      "formattedAddress": "San Francisco, CA 94128, USA",
      "displayName": {
        "text": "San Francisco International Airport",
        "languageCode": "en"
      },
      "googleMapsLinks": {
        "placeUri": "https://maps.google.com/?cid=11885663895765773631",
        "directionsUri": "https://www.google.com/maps/dir//''/data=!4m7!4m6!1m1!4e2!1m2!1m1!1s0x808f778c55555555:0xa4f25c571acded3f!3e0",
        "writeAReviewUri": "https://www.google.com/maps/place//data=!4m3!3m2!1s0x808f778c55555555:0xa4f25c571acded3f!12e1",
        "reviewsUri": "https://www.google.com/maps/place//data=!4m4!3m3!1s0x808f778c55555555:0xa4f25c571acded3f!9m1!1b1",
        "photosUri": "https://www.google.com/maps/place//data=!4m3!3m2!1s0x808f778c55555555:0xa4f25c571acded3f!10e5"
      }
    }
  ]
}

您无需在回答中返回所有链接。例如,如果您只想在响应中获取照片链接,请修改字段掩码,使其仅包含 photosUri 字段,如下所示:

curl -X POST -d '{
  "textQuery" : "San Francisco International Airport"
}' \
-H 'Content-Type: application/json' -H 'X-Goog-Api-Key: API_KEY' \
-H 'X-Goog-FieldMask: places.displayName,places.formattedAddress,places.priceLevel,places.googleMapsLinks.photosURI' \
'https://places.googleapis.com/v1/places:searchText'

在回答中包含路线

所有 Places 方法都支持在响应中生成路线链接。当前位置用作出发地,地点位置用作目的地,出行方式为驾车。

下一个示例使用附近搜索(新版),在响应的 directionsUri 字段中包含地图路线链接:

curl -X POST -d '{
  "includedTypes": ["restaurant"],
  "maxResultCount": 10,
  "locationRestriction": {
    "circle": {
      "center": {
        "latitude": -33.8688,
        "longitude": 151.1957362},
      "radius": 500.0
    }
  }
}' \
-H 'Content-Type: application/json' -H 'X-Goog-Api-Key:API_KEY' \
-H 'X-Goog-FieldMask: places.displayName,places.googleMapsLinks.directionsUri' \
https://places.googleapis.com/v1/places:searchNearby

此版本在响应中的 Reviews 和 Photos 对象中新增了 googleMapsUri 字段。浏览这些链接会在 Google 地图中打开评价或照片。

例如,以下文本搜索(新)请求会在响应中包含每个地点的评价和照片:

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.displayName,places.reviews,places.photos' \
'https://places.googleapis.com/v1/places:searchText'

在响应中,评价和照片数组的每个元素都包含 googleMapsUri 字段,用于在浏览器中打开评价或照片。

试试看!

借助 API Explorer,您可以发出示例请求,以便熟悉 API 和 API 选项。

  1. 选择页面右侧的 API 图标。

  2. (可选)展开显示标准参数,并将 fields 参数设置为字段掩码。

  3. (可选)修改请求正文。

  4. 选择执行按钮。在对话框中,选择您要用于发出请求的账号。

  5. 在 API Explorer 面板中,选择

    全屏:展开 API Explorer 窗口。