会话令牌是一段数据(一个 UUID),用于在 REST 调用中标识会话(一系列相关的消息交换)。您必须在所有针对 2D 地块和街景图像的请求中包含会话令牌。您可以将其作为 session
参数的值附加到所有请求网址中。
在 Map Tiles API 中,会话令牌表示一组已定义的显示选项。这意味着您不必在每个图块请求中传递一组显示选项。您可以在多个客户端中使用同一会话令牌。
会话令牌目前自签发时间起有效期为两周,但此期限可能会发生变化。您随时都可以通过查看响应消息中的 expiry
字段来检查会话令牌的过期时间。
会话令牌请求
如需请求会话令牌,请向 createSession
端点发送 HTTPS POST 请求,如以下示例所示。您必须发送带有 Content-Type: application/json
标头的请求。
curl -X POST -d '{ "mapType": "streetview", "language": "en-US", "region": "US" }' \ -H 'Content-Type: application/json' \ "https://tile.googleapis.com/v1/createSession?key=YOUR_API_KEY"
必填字段
mapType
基础地图的类型。这个值可以是以下值之一:
language
一个 IETF 语言标记,用于指定在功能块上显示信息时所用的语言。例如,
en-US
指定了美国英语。region
表示用户实际所处位置的通用语言环境数据存储区区域标识符(两个大写字母)。例如
US
。
可选字段
imageFormat
- 指定要返回的文件格式。有效值为
jpeg
或png
。 JPEG 文件不支持透明度,因此不建议用于叠加图块。如果您未指定imageFormat
,系统会自动选择最适合图块的格式。 scale
放大地图元素(例如道路标签)的大小,同时保留默认图块的图块大小和覆盖区域。增大比例还会减少地图上的标签数量,从而减少杂乱程度。以下值是有效的
scale
值:scaleFactor1x
:默认值。scaleFactor2x
:将标签大小加倍,并移除次要功能标签。scaleFactor4x
:将标签大小增加为原来的四倍,并移除次要功能标签。
以下示例演示了缩放地图元素的效果。
缩放比例 1 倍 | 缩放比例为 2 倍 |
---|---|
![]() |
![]() |
highDpi
- 指定是否返回高分辨率图块。如果放大倍数增加,则使用
highDpi
来增加图块的大小。通常,增加缩放比例会将生成的图块放大为相同大小的图片,从而降低质量。使用highDpi
时,生成的文件大小也会增加,从而保持质量。DPI 是“每英寸的点数”的缩写,高 DPI 表示图块的渲染所用的每英寸点数比正常情况多。如果值为true
,则 x 和 y 维度中每个维度的像素数都会乘以缩放比例(即 2 倍或 4 倍)。相应图块的覆盖区域保持不变。 此参数仅适用于 2 倍或 4 倍的scale
值。它对 1 倍缩放比例的图块没有影响。
缩放比例 1 倍 | 缩放比例 2 倍高 DPI |
---|---|
![]() |
![]() |
layerTypes
一个值数组,用于指定添加到地图中的图层类型。有效值包括:
layerRoadmap
- 如果您将地图类型指定为
terrain
,则此属性为必需属性。还可以选择性地叠加在satellite
地图类型上。对路线图板块没有影响。 layerStreetview
- 在地图上使用蓝色轮廓显示支持街景的街道和地点。
layerTraffic
- 显示当前路况。
styles
一个 JSON 样式对象数组,用于指定道路、公园和建成区等地图项的外观和详细程度。样式设置用于自定义标准 Google 基本地图。只有当地图类型为
roadmap
时,styles
参数才有效。如需了解完整的样式语法,请参阅样式参考。overlay
一个布尔值,用于指定
layerTypes
应呈现为单独的叠加层,还是与基础影像合并。如果值为true
,则不显示基础地图。如果您尚未定义任何layerTypes
,则系统会忽略此值。
例如,请求具有 layerRoadmap
图层的 satellite
地图类型,并将 overlay
设置为 false
,会生成与 Maps JavaScript API 中使用的 hybrid
地图类型(左侧图片)等效的图块。将 overlay
设置为 true
的相同地图和图层类型会生成一个透明图块,其中包含地图叠加层,该叠加层的样式适合叠加在卫星图像上(右侧图片)。
overlay :false |
overlay :true |
---|---|
![]() |
![]() |
以下 JSON 是一个典型的请求正文示例,其中包含必需字段和可选字段。
{
"mapType": "satellite",
"language": "en-US",
"region": "us",
"layerTypes": [ "layerRoadmap", "layerStreetview" ],
"overlay": true,
"scale": "scaleFactor1x",
"styles": [
{
"stylers": [
{ "hue": "#00ffe6" },
{ "saturation": -20 }
]
},{
"featureType": "road",
"elementType": "geometry",
"stylers": [
{ "lightness": 100 },
{ "visibility": "simplified" }
]
}
]
}
此示例提供了一个适合与卫星图像组合的叠加层。此示例包含路线图和街景叠加层。生成的地图会以美国英语显示名称和数据。
会话令牌响应
以下 JSON 是一个响应正文示例。
{
"session": "IgAAAHGU9jnAU4KOAfwY3Bcd6eH_WxQsyocSBAdUnAr9pnvTTNXtF9c_27RBo94ytEXTDg",
"expiry": "1361828036",
"tileWidth": 256,
"tileHeight": 256,
"imageFormat": "png"
}
以下列表包含响应正文中各个字段的定义。
session
- 您必须在所有 Map Tiles API 请求中添加的会话令牌值。
expiry
- 一个字符串,其中包含令牌到期的时间(自纪元以来的秒数)。会话令牌自创建之日起的有效期为两周,但此政策可能会发生更改,恕不另行通知。
tileWidth
- 以像素为单位的图块宽度。
tileHeight
- 以像素为单位的图块高度。
imageFormat
- 图片格式,可以是
png
或jpeg
。