街景图块类似于 2D 图块 只不过其中包含了在街道上拍摄的全景图像。包含 有了街景,您就可以探索世界各地的地标、探索自然奇观, (如博物馆、竞技场、餐馆或小型企业等场所内)。 通过此 API 端点,您可以访问:
- Google 地图街景图块
- 街景元数据
- 街景缩略图
您可以将从街道级别拍摄的图像图块拼接在一起, 真实的全景效果您最多可以查询 100 个全景图片 ID 位置(例如路线),并获取有关镜头的更深入的元数据 排名。
查看者需要将街景图块拼接在一起。例如, 街景 自定义全景图片查看器。
获得 API 密钥后,您就可以执行下列操作来访问街景图像: 执行下列步骤。
获取会话令牌。确保 将
mapType
的值设置为streetview
。使用会话令牌 获取一个或多个地理位置的全景图片标识符 (panoId) 位置。
使用来自 panoId 搜索响应的全景图片标识符可获取:
街景方法
您可以通过调用以下某种方法访问街景图像和元数据: 四种方法。
方法 | 说明 |
---|---|
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 |
提供指定全景的相关详细信息。详情包括相关地址和指向相邻全景图片的链接。 |
街景 panoId 搜索
您可以通过以下方式查找一个或多个地理位置的全景图片标识符:
将其坐标(lat
、lng
)传递给 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 会返回其元数据 。但是,如果您传递
lat
和lng
,则 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。您不应该依赖于 有效期超过单个用户会话。
lat
、lng
- 全景图片的坐标(纬度和经度)。这些值可以是 与您在请求中传递的坐标不同,因为 location 会截取到最近的全景图片。
imageHeight
、imageWidth
- 拼接的全景图片的尺寸。
tileHeight
、tileWidth
- 单个全景图片图块的尺寸。
heading
- 罗盘航向,以度为单位,与北方所呈顺时针方向。标题为 在 [0,360] 范围内返回,其中 0 表示正北方。
tilt
- 全景图片的倾斜度,以与 并调整到地平线返回值在 [0, 180] 范围内。值 90 度,表示地平线已与 。
roll
- 应用于视线的顺时针旋转角度 以便水平地平线。返回的值在 [0, 360] 范围内。
imageryType
- 表示图片的类型。有效值为
indoor
和outdoor
。 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
- 指定镜头沿纵轴的角度。有效值为
范围
-90
至90
(含边界值)。默认值为 0。 yaw
- 指定镜头沿横轴的方向。有效值
介于
-360
到360
之间(含边界值)。默认值为 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
表示缩放级别,
x
和y
是
图块坐标
“街景”功能块街景全景图片中的缩放级别
在 [0,5] 范围内,0 表示最宽的视野范围。
缩放级别 | 大致视野范围 |
---|---|
0 | 360° |
1 | 180° |
2 | 90° |
3 | 45° |
4 | 22.5° |
5 | 11.25° |
街景图块响应
成功的街景图块请求会返回以下格式和大小的图片
您在 createSession
响应中指定的名称。
缩放级别为零时,整个全景图片的尺寸会调整为一个尺寸
tileWidth
,创作者:tileHeight
。由于全景图片在 x 维度上较大,
图块将在 y 维度上显示空白区域:
缩放级别为 5 时,将使用完整尺寸的全景图片,并将其分为多个图块。
版权信息
您必须在每幅街景全景图片中显示版权信息。通过
要显示的字符串可能因全景图片而异。如需获取版权信息,请按以下步骤操作:
您必须先请求街景元数据,然后才能
引用响应的 copyright
字段。如需了解详情,请参阅
数据提供方。