会话令牌是一段数据(一个 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 倍)。相应图块的覆盖区域保持不变。 此参数仅适用于scale值为 2 倍或 4 倍的情况。对 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。