街景图块

街景示例街景图块类似于 2D 图块 只不过其中包含了在街道上拍摄的全景图像。包含 有了街景,您就可以探索世界各地的地标、探索自然奇观, (如博物馆、竞技场、餐馆或小型企业等场所内)。 通过此 API 端点,您可以访问:

  • Google 地图街景图块
  • 街景元数据
  • 街景缩略图

您可以将从街道级别拍摄的图像图块拼接在一起, 真实的全景效果您最多可以查询 100 个全景图片 ID 位置(例如路线),并获取有关镜头的更深入的元数据 排名。

查看者需要将街景图块拼接在一起。例如, 街景 自定义全景图片查看器。

获得 API 密钥后,您就可以执行下列操作来访问街景图像: 执行下列步骤。

  1. 获取会话令牌。确保 将 mapType 的值设置为 streetview

  2. 使用会话令牌 获取一个或多个地理位置的全景图片标识符 (panoId) 位置。

  3. 使用来自 panoId 搜索响应的全景图片标识符可获取:

    1. 街景元数据。您也可以获取街景 通过传递一组坐标和半径来查看元数据。

    2. 街景缩略图

    3. 街景图块

街景方法

您可以通过调用以下某种方法访问街景图像和元数据: 四种方法。

方法 说明
https://tile.googleapis.com/v1/streetview/tiles 返回单个街景图块。您可以在六个缩放级别检索街景图块:从 512 像素到 13,312 像素。
https://tile.googleapis.com/v1/streetview/panoIds 让您可以批量搜索多达 100 个营业地点。返回包含图像的所有位置的全景图片 ID。
https://tile.googleapis.com/v1/streetview/thumbnail 返回街景场景的 JPEG 缩略图。您可以提供方向、倾斜度、尺寸和视野范围。最小尺寸为 16x16 像素。尺寸上限为 250x600 像素。
https://tile.googleapis.com/v1/streetview/metadata 提供指定全景的相关详细信息。详情包括相关地址和指向相邻全景图片的链接。

您可以通过以下方式查找一个或多个地理位置的全景图片标识符: 将其坐标(latlng)传递给 panoIds 方法。请求 body 是一个 JSON 对象,其中包含 locations 数组和可选的 radius,如以下 JSON 代码示例所示。

curl -X POST -d '{
  "locations": [
    {"lat": -33.883837, "lng": 151.209307},
    {"lat": -33.883700, "lng": 151.210307},
    {"lat": 0, "lng": 0}
  ],
  "radius": 50
}' \
-H 'Content-Type: application/json' \
"https://tile.googleapis.com/v1/streetview/panoIds?session=YOUR_SESSION_TOKEN&key=YOUR_API_KEY"
locations
locations 数组必须至少包含一组坐标值,但 您可以添加更多维度(最多 100 项)。
radius
radius 值(以米为单位)用于定义圆的半径 指定地点周围,要在其中搜索全景图片。默认值 50 米。

PanoId 响应

Map Tiles API 会尝试查找离每个位置最近的全景图片; 则会返回相应的全景图片 ID。成功的 panoIds 请求会返回 包含 panoIds 数组的 JSON 对象。该数组包含 全景图片 ID 的顺序。如果使用 Map Tiles API 无法根据请求的位置找到任何全景图片, 字符串。有关示例,请参见 以下 JSON 代码。

{
  "panoIds": [
    "ACfH-n2HcBvRry_3oc9grw",
    "f5DJZatBAAAXHlooS2wKbw",
    ""
  ]
}

您可以使用 panoIds 执行以下操作:

街景元数据

街景元数据请求用于检索有关全景图片的信息。街道 查看元数据请求是一个 HTTPS GET 请求。您可以检索 通过以下两种方式之一来介绍全景图片:

  • 如果您传递 pano_id,则 Map Tiles API 会返回其元数据 。

  • 但是,如果您传递 latlng,则 Map Tiles API 会返回元数据 指定搜索半径内距离最近的全景图片。

传递一组坐标和半径

curl "https://tile.googleapis.com/v1/streetview/metadata?session=YOUR_SESSION_TOKEN&key=YOUR_API_KEY&lat=lat&lng=lng&radius=meters"

由于全景图片 ID 是瞬态 ID,因此我们建议您传递一组 坐标和 radius 值。 如需查看示例,请参阅以下代码段。

curl "https://tile.googleapis.com/v1/streetview/metadata?session=YOUR_SESSION_TOKEN&key=YOUR_API_KEY&lat=47.62066&lng=-122.34923&radius=50"

传递街景图像的 panoId

curl "https://tile.googleapis.com/v1/streetview/metadata?session=YOUR_SESSION_TOKEN&key=YOUR_API_KEY&panoId=panoId"

元数据响应

以下 JSON 代码是典型元数据响应的示例。

{
 "panoId": "rZ9KeTyhA11i0VppYNzsSg",
 "lat": 37.420864219339165,
 "lng": -122.08446528377291,
 "imageHeight": 6656,
 "imageWidth": 13312,
 "tileHeight": 512,
 "tileWidth": 512,
 "heading": 94.35,
 "tilt": 88.39652,
 "roll": 1.7181772,
 "imageryType": "outdoor",
 "date": "2023-01",
 "copyright": "© 2023 Google",
 "reportProblemLink": "https://cbks0.googleapis.com/cbk?output=report&panoid=rZ9KeTyhA11i0VppYNzsSg&cb_client=api&cbp=1,0,,0,0&hl=en-US&gl=us",
 "addressComponents": [
  {
   "longName": "United States",
   "shortName": "United States",
   "types": [
    "country"
   ]
  },
  {
   "longName": "Mountain View, California",
   "shortName": "Mountain View, California",
   "types": [
    "locality"
   ]
  },
  {
   "longName": "Charleston Rd",
   "shortName": "Charleston Rd",
   "types": [
    "route"
   ]
  },
  {
   "longName": "1635",
   "shortName": "1635",
   "types": [
    "street_number"
   ]
  }
 ],
 "links": [
  {
   "panoId": "Yw4pqzA4FEq1qs-BwZSvSQ",
   "heading": 274.47998046875,
   "text": "Charleston Rd"
  },
  {
   "panoId": "1cODYwFRw1aZ45IignDIMw",
   "heading": 94.47999572753906,
   "text": "Charleston Rd"
  }
 ]
}

以下列表包含响应正文中字段的定义。

panoId
此全景图片的唯一 ID。您不应该依赖于 有效期超过单个用户会话。
latlng
全景图片的坐标(纬度和经度)。这些值可以是 与您在请求中传递的坐标不同,因为 location 会截取到最近的全景图片。
imageHeightimageWidth
拼接的全景图片的尺寸。
tileHeighttileWidth
单个全景图片图块的尺寸。
heading
罗盘航向,以度为单位,与北方所呈顺时针方向。标题为 在 [0,360] 范围内返回,其中 0 表示正北方。
tilt
全景图片的倾斜度,以与 并调整到地平线返回值在 [0, 180] 范围内。值 90 度,表示地平线已与 。
roll
应用于视线的顺时针旋转角度 以便水平地平线。返回的值在 [0, 360] 范围内。
imageryType
表示图片的类型。有效值为 indooroutdoor
date
图片拍摄日期。并非所有图片都包含日期数据。但当 此字段包含年 (YYYY) 和月份的组合 (MM)。例如:2023-05 或 2024。
copyright
您必须随街景一起显示的版权文字, 查看图片。
reportProblemLink
一个超链接,供您的用户用于报告此街景存在的问题 功能块。您必须在 并且必须包含以下类似于“报告问题”的链接文字 “包含此图片”
addressComponent
结构化 地理编码 。如需更多信息 请参阅 地理编码请求和响应
links
与此全景图片相关联的全景图片 ID 列表。还包含以下标题: 链接。例如,如果航向为 180°,那么 链接的全景图片应位于当前全景的南方。请注意,由于 全景 ID 的瞬时性,您不应依赖这些 ID 与单个用户会话相比

街景缩略图

您可以请求 thumbnail 格式的街景图像。缩略图 具有用户定义的尺寸、朝向、倾斜度和视野的无平铺图像。 缩略图图片的分辨率低于图块,且文件较小 。如需发出缩略图请求,您需要向 thumbnail 发送 GET 请求 端点,如以下代码原型所示。

curl "https://tile.googleapis.com/v1/streetview/thumbnail?session=YOUR_SESSION_TOKEN&key=YOUR_API_KEY&panoId=panoId&height=FROM_16_TO_250&width=FROM_16_TO_600&pitch=FROM-90_TO_90&yaw=FROM-360_TO_360&fov=FROM_30_TO_120"

请考虑以下代码示例,该示例下载了一个街景缩略图 图像。

curl "https://tile.googleapis.com/v1/streetview/thumbnail?session=YOUR_SESSION_TOKEN&key=YOUR_API_KEY&panoId=Zzl28rqGJgaL2IdkUleP8A&height=200&width=200&pitch=0&yaw=250&fov=80" --output /tmp/example_thumbnail.png

加拿大惠斯勒的街景缩略图

必需参数

panoId
所需缩略图的唯一 ID。您可以获取全景图片 ID 值 从 panoIds 端点或从 metadata 端点 - 两者均接受地理位置信息 坐标,并返回相应的 panoId
session
有效的会话令牌
key
您的 API 密钥

可选参数

height
指定缩略图的高度(以像素为单位),范围为 16 像素到 250 像素。如果不指定高度,则高度将默认为 允许的最大值为 250 像素。如果您指定的值超出范围 则缩略图会贴靠最接近的有效值。
width
用于指定缩略图的宽度(以像素为单位),范围为 16 像素到 600 像素 像素。如果未指定宽度,则宽度默认为最大宽度 允许的值为 600 像素。如果您指定的值超出范围,则 缩略图将贴靠最接近的有效值。
pitch
指定镜头沿纵轴的角度。有效值为 范围 -9090(含边界值)。默认值为 0。
yaw
指定镜头沿横轴的方向。有效值 介于 -360360 之间(含边界值)。默认值为 s 0。
fov
指定水平视野,以度为单位,最大值为 值为 120。像处理街景一样,处理固定尺寸的视口时 特定大小的图像,视野表示缩放;其中的较小值指定 更高的缩放级别。默认值为 90。

街景图像图块

有了 panoId 后,您就可以请求街景图像图块了。瓷砖 请求都是 HTTPS GET 请求请参考以下示例。

curl "https://tile.googleapis.com/v1/streetview/tiles/z/x/y?session=YOUR_SESSION_TOKEN&key=YOUR_API_KEY&panoId=panoId"

在此代码示例中,z 表示缩放级别, xy图块坐标 “街景”功能块街景全景图片中的缩放级别 在 [0,5] 范围内,0 表示最宽的视野范围。

缩放级别 大致视野范围
0 360°
1 180°
2 90°
3 45°
4 22.5°
5 11.25°

街景图块响应

成功的街景图块请求会返回以下格式和大小的图片 您在 createSession 响应中指定的名称。

成功的图块请求的结果

缩放级别为零时,整个全景图片的大小会调整为一个尺寸为 的图块 tileWidth,创作者:tileHeight。由于全景图片在 x 维度上较大, 图块将在 y 维度上显示空白区域:

缩放级别 0

缩放级别为 5 时,将使用完整尺寸的全景图片,并将其分为多个图块。

您必须为每幅街景全景图片显示版权信息。通过 要显示的字符串可能因全景图片而异。如需获取版权信息,请按以下步骤操作: 您必须先请求街景元数据,然后才能 引用响应的 copyright 字段。如需了解详情,请参阅 数据提供方