将会话令牌与 Map Tiles API 搭配使用

欧洲经济区 (EEA) 开发者

会话令牌是一段数据( 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

基本地图的类型。这个值可以是以下值之一:

roadmap
标准 Google 地图绘制的地图图块。
satellite
卫星图像。
terrain
地形图像。选择 terrain 作为地图类型时,您还必须 添加 layerRoadmap 图层类型(如 可选字段 部分中所述)。
streetview
街景全景图片。如需了解详情,请参阅 街景图块
language

一个 IETF 语言标记 ,用于指定在图块上显示信息时所用的语言。例如,en-US 指定的是美国英语。

region

一个 通用本地化数据存储库 区域标识符(两个大写字母),表示用户的实际所处位置 。例如,US

可选字段

imageFormat
指定要返回的文件格式。有效值为 jpegpng。 JPEG 文件不支持透明度,因此不建议用于叠加图块。如果您未指定 imageFormat,系统会自动选择最适合图块的格式。
scale

放大地图元素(例如道路标签)的大小,同时保留默认图块的图块大小和覆盖区域。增大比例还会减少地图上的标签数量,从而减少杂乱。以下是有效的 scale 值:

  • scaleFactor1x:默认值。
  • scaleFactor2x:将标签大小加倍,并移除次要地图项标签。
  • scaleFactor4x:将标签大小增加四倍,并移除次要地图项标签。

以下示例演示了缩放地图元素的效果。

缩放比例 1x 缩放比例 2x
显示缩放比例为 1 倍的地图 显示缩放比例为 2 倍的地图
highDpi
指定是否返回高分辨率图块。如果缩放比例增大,系统会使用 highDpi 来增大图块的大小。通常,增大缩放比例会将生成的图块放大为相同大小的图片,从而降低质量。使用 highDpi 时,生成的图块大小也会增大,从而保留质量。DPI 代表每英寸点数,而 High DPI 表示图块的渲染每英寸使用的点数比正常情况多。如果为 true,则 x 和 y 维度中每个维度的像素数都会乘以缩放比例(即 2x 或 4x)。图块的覆盖区域保持不变。 此参数仅适用于 2x 或 4x 的 scale 值。它对 1x 比例的图块没有影响。
缩放比例 1x 缩放比例 2x High DPI
以常规分辨率显示的地图 以 2 倍高 DPI 分辨率显示的地图
layerTypes

一个值数组,用于指定添加到地图的图层类型。有效值为:

layerRoadmap
如果您将 terrain 指定为地图类型,则此参数是必需的。也可以选择性地叠加在 satellite 地图类型上。对路线图图块没有影响。
layerStreetview
在地图上使用蓝色轮廓显示支持街景的街道和地点。
layerTraffic
显示当前路况信息。
styles

一个 JSON 样式对象数组,用于指定道路、公园和建成区等地图项的外观和详细程度。样式用于自定义标准 Google 基本地图。styles 参数仅在地图类型为 roadmap 时有效。如需了解完整的样式语法,请参阅 样式参考文档

overlay

一个布尔值,用于指定 layerTypes 应渲染为单独的叠加层,还是与基本图像相结合。如果为 true,则不会显示基本地图。如果您未定义任何 layerTypes,系统会忽略此值。

例如,请求 satellite 地图类型和 layerRoadmap 图层,并将 overlay 设置为 false,会生成与 Maps JavaScript API 中使用的 hybrid 地图类型等效的图块(左图)。如果将同一地图和图层类型与 overlay 设置为 true,则会生成一个透明图块,其中包含一个地理分布图,该地理分布图经过适当的样式设置,可叠加在卫星图像上(右图)。

overlay:false overlay:true
叠加层设置为 false 叠加层设置为 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
图片格式,可以是 pngjpeg