mapTypes 端点提供表示各种天气现象(例如降水预报)的光栅地图图块。这些地图图块可以叠加到标准 Google 地图上。
条款
这些条款是根据 Google 与您达成的协议,依据《Google Maps Platform 服务专用条款》第 6 条(非正式版产品条款)发布的。
1.1 提供方说明要求。如果客户使用 Weather API 中的 Google 地图内容,则必须按照文档中的规定向 Google 提供提供方信息。
1.2 限制。客户不得使用从 Weather API 检索到的 Google 地图内容来重新创建 Google 服务或产品(例如,不得在天气应用或天气模型中使用从 Weather API 检索到的数据,因为这些应用或模型的主要目的是提供天气信息)。
1.3 缓存。客户可以在适用的缓存期内临时缓存 Weather API 中的适用 Google 地图内容,如表 1.3.1(缓存权限)中所述。
表 1.3.1(缓存权限)
这些权限是 Google Maps Platform 服务专用条款表 17.2.1 中所述权限的补充。
| Google 地图内容 | 缓存周期 |
|---|---|
| 天气地图图块 | 1 小时,之后客户必须删除缓存的 Google 地图内容 |
天气地图请求简介
如需请求天气地图,请向以下网址发送 HTTP GET 请求:
https://weather.googleapis.com/v1/mapTypes/{map_type}/mapTiles/{zoom}/{x}/{y}地图类型
Weather API 支持不同的天气地图类型,这些类型对应于不同的底层天气模型和地理区域:
US_PRECIPITATION_CURRENT:美国高分辨率降水临近预报。EU_PRECIPITATION_CURRENT:高分辨率欧洲降水临近预报。
下方的覆盖范围地图显示了提供天气地图图块的区域:

图块坐标系
该 API 使用标准的 Web 墨卡托地图块坐标系。如需全面了解地图和图块坐标,请参阅路线图图块和地图和图块坐标。
在此系统中:
zoom:缩放级别(0 到 16)。缩放级别 0 表示整个世界使用单个图块渲染(20 x 20 = 1 个图块)。缩放级别 z 将世界划分为 2z x 2z 的图块网格。x:图块的 X 坐标(列),范围从 0(最西)到 2缩放级别 - 1(最东)。y:图块的 Y 坐标(行),范围从 0(最北)到 2缩放级别 - 1(最南)。
显示天气地图
如需使用 Google Maps JavaScript API 在 Web 应用中显示这些图块,您可以创建自定义 google.maps.ImageMapType:
const weatherMapType = new google.maps.ImageMapType({ getTileUrl: function(coord, zoom) { const mapType = "US_PRECIPITATION_CURRENT"; return `https://weather.googleapis.com/v1/mapTypes/${mapType}/mapTiles/${zoom}/${coord.x}/${coord.y}`; }, tileSize: new google.maps.Size(256, 256), maxZoom: 16, minZoom: 0, name: "Weather" }); // Overlay on existing map map.overlayMapTypes.insertAt(0, weatherMapType);
天气地图请求示例
以下示例请求了新奥尔良的美国降水天气地图图块:
curl -o tile.png -X GET "https://weather.googleapis.com/v1/mapTypes/US_PRECIPITATION_CURRENT/mapTiles/12/1025/1688?key=API_KEY"
响应是二进制的。JSON 封装容器仅在特定序列化设置(例如 ?alt=json)下显示。