简介
Maps Static API 会返回一张图片(GIF、PNG 或 JPEG 格式)来响应通过网址发出的 HTTP 请求。对于每个请求,您都可以指定地图的位置、图片的大小、缩放级别、地图的类型,以及地图上可选标记的位置。您还可以使用字母数字字符为标记添加标签。
Maps Static API 图片嵌入在 <img> 标记的 src 属性或其在其他编程语言中的等效项中。
本文档介绍了 Maps Static API 网址的必需格式和可用参数。此外,还指出了一些指定网址的提示和技巧。
准备工作
本文档适用于希望在网页或移动应用中添加 Maps Static API 图片的网站和移动开发者。其中介绍了如何使用该 API,并提供了有关可用参数的参考资料。
在开始使用 Maps Static API 进行开发之前,请先查看身份验证要求(您需要一个 API 密钥)以及 API 使用和结算信息(您需要为项目启用结算功能)。
网址参数
Maps Static API 网址必须采用以下格式:
https://maps.googleapis.com/maps/api/staticmap?parameters
如果您的网站是通过 HTTPS 访问的,您也必须通过 HTTPS 加载 Maps Static API 图片,以避免浏览器发出安全提醒。如果您的请求包含敏感的用户信息(例如用户的位置),也建议使用 HTTPS:
https://maps.googleapis.com/maps/api/staticmap?parameters
无论使用 HTTP 还是 HTTPS,某些网址参数都是必需的,而有些则是可选的。依照网址的标准,所有参数都使用“与”符号 (&) 分隔。本文档中列出了参数及其可能值的列表。
Maps Static API 使用以下网址参数定义地图图片:
位置信息参数
center(如果不存在标记,则为必需)定义地图的中心,该中心与地图的所有边缘等距。此参数采用以逗号分隔的 {latitude,longitude} 对(例如“40.714728,-73.998672”)或字符串地址(例如“city hall, new york, ny”)形式的位置,用于标识地球表面上的唯一位置。如需了解详情,请参阅位置。zoom(如果不存在标记,则必需)定义地图的缩放级别,该级别决定了地图的放大级别。此参数采用与所需区域的缩放级别对应的数值。如需了解详情,请参阅缩放级别。
地图参数
size(必需)定义地图图片的矩形尺寸。此参数接受{horizontal_value}x{vertical_value}格式的字符串。例如,500x400定义了一个宽 500 像素、高 400 像素的地图。宽度小于 180 像素的地图将显示缩小尺寸的 Google 徽标。此参数受scale参数的影响;最终输出大小是大小和缩放值的乘积。scale(可选)- 影响返回的像素数量。scale=2返回的像素数量是scale=1的两倍,同时保留相同的覆盖区域和细节级别(即地图内容不会发生变化)。这在针对高分辨率显示屏进行开发时非常有用。 默认值为1。可接受的值为1和2。如需了解详情,请参阅缩放值。format(可选)定义生成的图片的格式。默认情况下,Maps Static API 会创建 PNG 图片。有多种可能的格式,包括 GIF、JPEG 和 PNG 类型。您使用哪种格式取决于您打算如何呈现图片。JPEG 通常可提供更高的压缩率,而 GIF 和 PNG 则可提供更丰富的细节。如需了解详情,请参阅图片格式。maptype(可选)定义要构建的地图类型。有多个可能的 maptype 值,包括roadmap、satellite、hybrid和terrain。如需了解详情,请参阅 Maps Static API 地图类型。colorscheme(可选)定义地图的配色方案。接受的值为light(默认值)和dark。深色配色方案适用于roadmap和terrain地图类型。如需了解详情,请参阅了解模式和地图类型。language(可选)定义在地图图块上显示标签时要使用的语言。请注意,只有部分国家/地区的图块支持此参数;如果图块集不支持所请求的特定语言,则系统会使用该图块集的默认语言。region(可选)根据地缘政治敏感性定义要显示的适当边界。接受指定为双字符 ccTLD(“顶级域名”)值的地区代码。如需了解支持的地区,请参阅 Google Maps Platform 覆盖范围详细信息。
特征参数
map_id(可选)指定特定地图的标识符。地图 ID 用于将地图与特定样式或地图项相关联,并且必须与用于初始化地图的 API 密钥属于同一项目。如需了解详情,请参阅使用地图 ID。markers(可选)定义一个或多个标记,以附加到图片中的指定位置。此参数采用单个标记定义,其中参数用竖线字符 (|) 分隔。只要多个标记具有相同的样式,就可以将它们放置在同一个markers参数中;您可以通过添加其他markers参数来添加具有不同样式的其他标记。请注意,如果您为地图提供标记,则无需指定(通常必需的)center和zoom参数。如需了解详情,请参阅 Maps Static API 标记。path(可选)定义一条由两个或更多连接点组成的路径,用于在指定位置叠加到图片上。此参数接受由竖线字符 (|) 分隔的点定义字符串,或在路径的位置声明中使用enc:前缀的编码多段线。您可以通过添加其他path参数来提供其他路径。请注意,如果您为地图提供了路径,则无需指定(通常必需的)center和zoom参数。如需了解详情,请参阅 Maps Static API 路径。visible(可选)指定一个或多个应在地图上保持可见的位置,但不会显示任何标记或其他指示符。使用此参数可确保在 Maps Static API 上显示某些地图项或地图位置。style(可选)定义自定义样式,以更改地图上特定地图项(道路、公园和其他地图项)的呈现方式。此参数接受feature和element参数,用于标识要设置样式的地图项,以及要应用于所选地图项的一组样式操作。您可以通过添加其他style参数来提供多种样式。如需了解详情,请参阅自定样式的地图指南。
密钥和签名参数
key(必需)可让您在 Google Cloud 控制台中监控应用的 API 使用情况,并确保 Google 可以在必要时就您的应用与您联系。 如需了解详情,请参阅将 API 密钥与 Maps Static API 搭配使用。signature(推荐)是一种数字签名,用于验证使用您的 API 密钥生成请求的所有网站都获得了相应授权。不含数字签名的请求可能会失败。 如需了解详情,请参阅使用数字签名。
网址大小限制
Maps Static API 网址的大小限制为 16384 个字符。在实际应用中,您可能不需要长度超过此限制的网址,除非您要生成包含大量标记和路径的复杂地图。
参数使用
Maps Static API 相对易于使用,因为它仅由参数化网址组成。本部分介绍了如何使用这些参数来构建网址。
指定位置
Maps Static API 必须能够精确识别地图上的位置,以便将地图聚焦在正确的位置(使用 center 参数)和/或在地图上的位置放置任何可选地标(使用 markers 参数)。Maps Static API 使用数字(纬度和经度值)或字符串(地址)来指定这些位置。这些值用于标识经过地理编码的位置。
多个参数(例如 markers 和 path 参数)接受多个位置。在这些情况下,位置之间用竖线 (|) 字符分隔。
纬度和经度
纬度和经度使用以逗号分隔的文本字符串中的数字进行定义,精确到小数点后 6 位。例如,“40.714728,-73.998672”是有效的地理编码值。系统会忽略小数点后 6 位以外的精度。
经度值基于与英国格林威治(本初子午线所在地)的距离。由于格林威治位于纬度 51.477222 处,因此我们可以输入 center 值 51.477222,0,将地图中心设为格林威治:
纬度和经度值必须对应于地球上的有效位置。纬度可以取 -90 到 90 之间的任何值,而经度可以取 -180 到 180 之间的任何值。如果您指定了无效的纬度或经度值,您的请求将被拒绝,并显示错误请求。
地址
大多数人不会使用经纬度来描述位置,而是使用地址。将地址转换为地理位置点的过程称为“地理编码”,如果您提供有效地址,Maps Static API 服务可以为您执行地理编码。
在任何可以提供纬度/经度的参数中,您都可以改为指定一个表示地址的字符串。Google 会对地址进行地理编码,并为 Maps Static API 服务提供经纬度值,以便用于放置标记或指定位置。该字符串应采用网址编码,因此,诸如“City Hall, New York, NY”之类的地址应转换为“City+Hall,New+York,NY”。
请注意,地址可能反映精确位置(例如街道地址)、多段线(例如命名的路线)或多边形区域(例如城市、国家/地区或国家公园)。对于多段线和多边形结果,Maps Static API 服务器会将线/区域的中心点用作地址中心。 如果您不确定地址如何进行地理编码,可以使用此 地理编码实用程序测试地址。
以下示例会为加利福尼亚州伯克利生成静态地图图片:
https://maps.googleapis.com/maps/api/staticmap?center=Berkeley,CA&zoom=14&size=400x400&key=YOUR_API_KEY&signature=YOUR_SIGNATURE
缩放级别
Google 地图上的地图具有一个整数“缩放级别”,用于定义当前视图的分辨率。在默认的 roadmap 视图中,缩放级别介于 0(最低缩放级别,可在单个地图上看到整个世界)和 21+(可看到街道和个别建筑物)之间。建筑物轮廓(如有)会在缩放级别 17 左右显示在地图上。此值因地区而异,并且可能会随着数据的变化而变化。
Google 地图将缩放级别 0 设置为包含整个地球。
缩放级别每增加一级,水平和垂直维度的精度都会提高一倍。如需详细了解如何执行此操作,请参阅 Google Maps JavaScript API 文档。
注意:并非地球上的所有位置都会显示所有缩放级别。缩放级别因位置而异,因为全球某些地区的数据比其他地区更精细。
如果您请求的缩放级别不存在任何地图图块,Maps Static API 将返回空白图片。
以下列表显示了您在每个缩放级别看到的地图的大致详细程度:
- 1:世界
- 5:大陆/洲
- 10:城市
- 15:街道
- 20:建筑物
以下示例请求了曼哈顿的两张地图,它们具有相同的 center 值,但缩放级别分别为 12 和 14:
https://maps.googleapis.com/maps/api/staticmap?center=40.714728,-73.998672&zoom=12&size=400x400&key=YOUR_API_KEY&signature=YOUR_SIGNATURE https://maps.googleapis.com/maps/api/staticmap?center=40.714728,-73.998672&zoom=14&size=400x400&key=YOUR_API_KEY&signature=YOUR_SIGNATURE
图片尺寸
size 参数与 center 结合使用,可定义地图的覆盖区域。它还定义了地图的输出大小(以像素为单位),即该值乘以 scale 值(默认为 1)。
下表显示了每个 scale 值对应的 size 参数的最大允许值。
scale=1 |
scale=2 |
|---|---|
640x640 |
640x640(返回 1280x1280 像素) |
以下示例请求在缩放级别 1 处获取赤道处的地球“切片”:
https://maps.googleapis.com/maps/api/staticmap?center=0,0&zoom=1&size=400x50&key=YOUR_API_KEY&signature=YOUR_SIGNATURE
此示例请求一张以同一区域为中心、尺寸为 100 x 100 像素的小地图。请注意 Google 徽标缩小了:
https://maps.googleapis.com/maps/api/staticmap?center=0,0&zoom=1&size=100x100&key=YOUR_API_KEY&signature=YOUR_SIGNATURE
缩放值
Maps Static API 的 size 参数以像素为单位定义地图的大小,因此 size=200x200 的地图将以 200 像素 x 200 像素的形式返回。在 LCD 计算机显示器上,通常每英寸显示约 100 像素 (ppi),200x200 的地图在每个维度上大约为 2 英寸。
不过,移动设备越来越多地采用像素密度超过 300ppi 的高分辨率屏幕,这会导致以下两种情况:
- 将 200x200 像素的图片缩小到仅 0.7 英寸,导致标签和图标过小而无法辨认;或者
- 缩放(放大)图片以提高可读性,从而导致图片模糊或像素化。
| 过小 | 过于模糊 |
|---|---|
![]() |
![]() |
在针对移动设备进行开发时,您可以使用该 API 的 scale 参数来返回分辨率更高的地图图片,从而解决上述问题。scale 值会乘以 size,以确定图片的实际输出大小(以像素为单位),而不会更改地图的覆盖区域。默认 scale 值为 1;可接受的值为 1 和 2。
例如,如果缩放值为 2,则返回的地图覆盖区域与未指定缩放值的请求相同,但每个维度的像素数是后者的两倍。这包括道路和标签,以便在高分辨率、小尺寸屏幕上以及在浏览器缩放时清晰可辨。
| 150x150 | 150x150 且 scale=2 |
|---|---|
![]() |
![]() |
如果将此类图片插入到 img 或 div 标记中,并使用 CSS 设置高度和宽度,那么在桌面浏览器上也会有很好的显示效果。浏览器会将图片缩小到正确的大小,而不会降低质量。
此表格显示了三个不同的图片请求。
- 第一项请求的对象是大小为 100x100 且未指定比例值的图片。它在桌面设备上可以正常显示,但在移动设备上太小,无法阅读。
- 第二项请求的对象是大小为前者两倍的地图。在桌面设备上,CSS 会将其调整为指定的 100x100
img元素,但在缩小图片时,道路和标签会变得太小。在移动设备上,图片大小合适,但道路和标签同样难以辨认。 - 第三个请求是获取 100x100 的地图,其中包含
scale=2。返回的图片具有 200 像素的细节;桌面设备会完美地将其缩小,使其与原始 100x100 请求无法区分,而移动浏览器则受益于 API 返回的额外分辨率。
| 图片请求 | |||
|---|---|---|---|
| 设备 | 100x100 |
200x200 |
100x100&scale=2 |
| 桌面设备 (在 img 标记上使用 height="100px" 和width="100px") |
![]() |
![]() |
![]() |
| 高分辨率 (模拟) |
![]() |
![]() |
![]() |
如需详细了解如何针对移动设备和高分辨率显示屏进行开发,建议您阅读以下内容:
图片格式
返回的图片可能采用几种常见的 Web 图形格式:GIF、JPEG 和 PNG。format 参数采用以下值之一:
png8或png(默认)指定 8 位 PNG 格式。png32指定 32 位 PNG 格式。gif指定 GIF 格式。jpg指定 JPEG 压缩格式。jpg-baseline指定非渐进式 JPEG 压缩格式。
以下示例请求 gif 和 png 格式的地图:
https://maps.googleapis.com/maps/api/staticmap?center=40.714728,-73.998672&format=gif&zoom=14&size=400x400&key=YOUR_API_KEY&signature=YOUR_SIGNATURE https://maps.googleapis.com/maps/api/staticmap?center=40.714728,-73.998672&format=png&&zoom=14&size=400x400&key=YOUR_API_KEY&signature=YOUR_SIGNATURE
jpg 和 jpg-baseline 通常可提供最小的图片大小,但它们是通过“有损”压缩来实现的,这可能会降低图片质量。gif、png8 和 png32 提供无损压缩。
大多数 JPEG 图片都是渐进式的,这意味着它们会先加载较粗糙的图片,然后随着更多数据的到来而提高图片分辨率。这样可以使图片在网页中快速加载,这也是目前 JPEG 最广泛的用途。不过,在某些情况下,JPEG 格式需要使用非渐进式(基线)图片。在这种情况下,您可能需要使用非渐进式的 jpg-baseline 格式。
地图类型
Maps Static API 可创建多种格式的地图,如下所示:
roadmap(默认)指定标准路线图图片,如 Google 地图网站上通常显示的那样。如果未指定maptype值,Maps Static API 默认会提供roadmap图块。satellite指定卫星图像。terrain指定自然地貌图,显示地形和植被。hybrid指定卫星图像和路线图图像的混合图像,在卫星图像上显示主要街道和地名的透明图层。
您可以在此代码示例中看到路线图和地形类型之间的区别。
https://maps.googleapis.com/maps/api/staticmap?center=40.714728,-73.998672&zoom=12&size=400x400&maptype=roadmap&key=YOUR_API_KEY&signature=YOUR_SIGNATURE https://maps.googleapis.com/maps/api/staticmap?center=40.714728,-73.998672&zoom=12&size=400x400&maptype=terrain&key=YOUR_API_KEY&signature=YOUR_SIGNATURE
混合地图使用卫星图像和突出的路线图地图项来创建组合地图。以下示例展示了卫星地图和混合地图类型:
https://maps.googleapis.com/maps/api/staticmap?center=40.714728,-73.998672&zoom=12&size=400x400&maptype=satellite&key=YOUR_API_KEY&signature=YOUR_SIGNATURE https://maps.googleapis.com/maps/api/staticmap?center=40.714728,-73.998672&zoom=12&size=400x400&maptype=hybrid&key=YOUR_API_KEY&signature=YOUR_SIGNATURE
自定样式的地图
通过应用您自己的样式,自定义标准 Google 地图的呈现方式。 请参阅自定样式的地图指南。
标记
markers 参数用于定义一组位置处的一个或多个标记(地图图钉)。在单个 markers 声明中定义的每个标记都必须具有相同的视觉样式;如果您希望显示具有不同样式的标记,则需要提供多个 markers 参数,并分别指定样式信息。
markers 参数采用以下格式的一组值分配(标记描述符):
markers=markerStyles|markerLocation1|
markerLocation2|...等
markerStyles 集在 markers 声明的开头声明,由零个或多个样式描述符(以竖线字符 [|] 分隔)组成,后跟一个或多个位置(也以竖线字符 [|] 分隔)。
由于样式信息和位置信息都是通过竖线字符分隔的,因此样式信息必须首先出现在任何标记描述符中。一旦 Maps Static API 服务器在标记描述符中遇到位置,所有其他标记参数也会被假定为位置。
标记样式
标记样式描述符集是一系列以管道 (|) 字符分隔的值分配。此样式描述符定义了在显示此标记描述符中的标记时要使用的视觉属性。这些样式描述符包含以下键值对分配:
size:(可选):用于指定标记的大小,取值范围为{tiny, mid, small}。如果未设置size参数,标记将以默认(正常)大小显示。color:(可选)指定 24 位颜色(例如:color=0xFFFFCC)或{black, brown, green, purple, yellow, blue, gray, orange, red, white}集合中的预定义颜色。请注意,标记不支持透明度(使用 32 位十六进制颜色值指定),但路径支持。
label:(可选)指定集合 {A-Z, 0-9} 中的单个大写字母数字字符。(此版本的 API 新增了对大写字符的要求。) 请注意,只有默认尺寸和mid尺寸的标记能够显示alphanumeric-character参数。tiny和small标记无法显示字母数字字符。
标记缩放
scale 值会与标记图片大小相乘,得出标记的实际输出大小(以像素为单位)。默认缩放值为 1;可接受的值为 1、2 和 4。
图片像素大小限制在应用缩放后适用。例如,如果标记设置为 scale:2,则标记可以大于 4096 像素的大小上限,只要在缩放后小于 4096 像素即可。在显示分辨率较高的地图时,请将标记缩放与地图缩放结合使用。
标记位置
每个标记描述符都必须包含一组一个或多个位置,用于定义在地图上放置标记的位置。这些位置可以指定为纬度/经度值或地址。这些位置使用竖线字符 (|) 分隔。
注意:如果您选择使用需要进行地理编码的方法(例如人类可读的地址字符串或多段线)来指定标记位置,则请求最多只能包含 15 个标记。此限制仅适用于需要进行地理编码的标记位置。它不适用于使用纬度/经度坐标指定的标记位置。
位置参数用于定义标记在地图上的位置。如果位置不在地图上,只要提供了 center 和 zoom 参数,该标记就不会出现在构建的图片中。不过,如果未提供这些参数,Maps Static API 服务器将自动构建包含所提供标记的图片。(请参阅隐式定位。)
此处显示了一个示例标记声明。请注意,我们定义了一组样式和三个位置:
https://maps.googleapis.com/maps/api/staticmap?center=Williamsburg,Brooklyn,NY&zoom=13&size=400x400& markers=color:blue%7Clabel:S%7C11211%7C11206%7C11222&key=YOUR_API_KEY&signature=YOUR_SIGNATURE
如需定义具有不同样式的标记,我们需要提供多个 markers 参数。这组 markers 参数定义了三个标记:一个位于 62.107733, -145.5419 处的蓝色标记,标签为“S”;一个位于“Delta Junction, AK”的微型绿色标记;一个位于“Tok, AK”的中型黄色标记,标签为“C”。以下示例中显示了这些标记:
https://maps.googleapis.com/maps/api/staticmap?center=63.259591,-144.667969&zoom=6&size=400x400 &markers=color:blue%7Clabel:S%7C62.107733,-145.541936&markers=size:tiny%7Ccolor:green%7CDelta+Junction,AK &markers=size:mid%7Ccolor:0xFFFF00%7Clabel:C%7CTok,AK"&key=YOUR_API_KEY&signature=YOUR_SIGNATURE
自定义图标
您可以随意使用自己的自定义图标,而不使用 Google 的标记图标。自定义图标通过 markers 参数中的 icon 描述符指定。例如:
markers=icon:URLofIcon|markerLocation
使用网址(应经过网址编码)指定 icon。您可以使用由网址缩短服务(例如 https://goo.gl)创建的网址。大多数网址缩短服务都具有自动对网址进行编码的优势。
您可以为自定义图标指定锚点。锚点设置图标相对于指定 markers 位置的放置方式。默认情况下,自定义图标的锚点是图标图片的底部中心。您可以使用 anchor 描述符以及 icon 指定其他锚点。将 anchor 设置为图标的 x,y 点(例如 10,5),或使用以下值之一设置为预定义的对齐方式:top、bottom、left、right、center、topleft、topright、bottomleft 或 bottomright。例如:
markers=anchor:bottomright|icon:URLofIcon|markerLocation1|markerLocation2
每个请求最多可以使用 5 个不同的自定义图标。此限制并不意味着您只能在地图上标记 5 个位置。每个唯一图标都可用于地图上的多个 markers 位置。
图标格式:
- 图标图片可以采用 PNG、JPEG 或 GIF 格式,但建议采用 PNG 格式。
- 图标的大小上限为 4096 像素(方形图片为 64x64)。
自定义图标示例
示例 1 创建自定义图标,并使用锚点定位图标。
https://maps.googleapis.com/maps/api/staticmap?&size=600x400&style=visibility:on &style=feature:water%7Celement:geometry%7Cvisibility:on &style=feature:landscape%7Celement:geometry%7Cvisibility:on &markers=anchor:32,10%7Cicon:https://goo.gl/5y3S82%7CCanberra+ACT &markers=anchor:topleft%7Cicon:http://tinyurl.com/jrhlvu6%7CMelbourne+VIC &markers=anchor:topright%7Cicon:https://goo.gl/1oTJ9Y%7CSydney+NSW&key=YOUR_API_KEY &signature=YOUR_SIGNATURE
示例 2 创建的自定义图标与示例 1 相同,但未使用锚点设置图标位置,而是依赖于默认锚点(底部中心)。
https://maps.googleapis.com/maps/api/staticmap?&size=600x400&style=visibility:on &style=feature:water%7Celement:geometry%7Cvisibility:on &style=feature:landscape%7Celement:geometry%7Cvisibility:on &markers=icon:https://goo.gl/5y3S82%7CCanberra+ACT &markers=icon:http://tinyurl.com/jrhlvu6%7CMelbourne+VIC &markers=icon:https://goo.gl/1oTJ9Y%7CSydney+NSW&key=YOUR_API_KEY&signature=YOUR_SIGNATURE
Maps Static API 路径
path 参数定义了一组由路径连接的一个或多个位置,用于叠加在地图图片上。path 参数采用以下格式的一组值分配(路径描述符):
path=pathStyles|pathLocation1|pathLocation2|...等
请注意,两个路径点之间使用竖线字符 (|) 分隔。由于样式信息和点信息都是通过竖线字符分隔的,因此样式信息必须首先出现在任何路径描述符中。Maps Static API 服务器在路径描述符中遇到位置后,会假定所有其他路径参数也是位置。
路径样式
路径样式描述符集是一系列由竖线 (|) 字符分隔的值分配。此样式描述符定义了显示路径时要使用的视觉属性。这些样式描述符包含以下键值对分配:
weight:(可选)用于指定路径的粗细(以像素为单位)。如果未设置weight参数,路径将以默认粗细(5 像素)显示。color:(可选)以 24 位(例如:color=0xFFFFCC)或 32 位十六进制值(例如:color=0xFFFFCCFF)或从{black, brown, green, purple, yellow, blue, gray, orange, red, white}集合中指定颜色。如果指定了 32 位十六进制值,则最后两个字符指定 8 位 Alpha 透明度值。此值介于
00(完全透明)和FF(完全不透明)之间。请注意,路径支持透明度,但标记不支持。fillcolor:(可选)表示路径标记出多边形区域,并指定要用作该区域内叠加层的填充颜色。以下位置集无需是“闭合”环路;Maps Static API 服务器会自动连接第一个点和最后一个点。但请注意,除非您专门提供相同的起点和终点位置,否则填充区域外部的任何描边都不会闭合。geodesic:(可选)表示请求的路径应解读为遵循地球曲率的测地线。如果为 false,则路径在屏幕空间中呈现为直线。默认值为 false。
一些路径定义示例:
- 蓝色细线,不透明度 50%:
path=color:0x0000ff80|weight:1 - 红色实线:
path=color:0xff0000ff|weight:5 - 白色粗实线:
path=color:0xffffffff|weight:10
这些路径样式是可选的。如果需要默认属性,您可以跳过定义路径属性;在这种情况下,路径描述符的第一个“参数”将改为由第一个声明的点(位置)组成。
路径点
为了绘制路径,还必须向 path 参数传递两个或更多点。然后,Maps Static API 会按照指定顺序连接这些点之间的路径。每个 pathPoint 都在 pathDescriptor 中表示,并以 |(竖线)字符分隔。
以下示例定义了一条从纽约联合广场到纽约时代广场的蓝色路径,默认不透明度为 50%。
path 参数的具体信息如下:
path=color:0x0000ff|weight:5|40.737102,-73.990318|40.749825,-73.987963|40.752946,-73.987384|40.755823,-73.986397
以下示例定义了相同的路径,但定义的是不透明度为 100% 的红色实线:
此 path 参数的具体信息如下:
path=color:0xff0000ff|weight:5|40.737102,-73.990318|40.749825,-73.987963|40.752946,-73.987384|40.755823,-73.986397
下一个示例定义了曼哈顿内的一个多边形区域,并传递了一系列交叉路口作为位置:
此 path 参数的具体信息如下:
path=color:0x00000000|weight:5|fillcolor:0xFFFF0033|8th+Avenue+%26+34th+St,New+York,NY|\ 8th+Avenue+%26+42nd+St,New+York,NY|Park+Ave+%26+42nd+St,New+York,NY,NY|\ Park+Ave+%26+34th+St,New+York,NY,NY
请注意,我们将路径本身设置为不可见,并将多边形区域设置为 15% 的不透明度。
编码多段线
您可以在 path 的位置声明中使用 enc: 前缀,将路径声明为编码多段线,而不是一系列位置。
以下示例使用编码多段线勾勒出阿拉斯加高速公路从不列颠哥伦比亚省道森克里克到阿拉斯加州三角洲交界处的路线:
https://maps.googleapis.com/maps/api/staticmap ?size=400x400¢er=59.900503,-135.478011&zoom=4 &path=weight:3%7Ccolor:orange%7Cenc:_fisIp~u%7CU%7D%7Ca@pytA_~b@hhCyhS~hResU%7C%7Cx@oig@rwg@amUfbjA%7Df%5BroaAynd@%7CvXxiAt%7BZwdUfbjAewYrqGchH~vXkqnAria@c_o@inc@k%7Bg@i%60%5Do%7CF%7DvXaj%5Ch%60%5Dovs@?yi_@rcAgtO%7Cj_AyaJren@nzQrst@zuYh%60%5Dv%7CGbldEuzd@%7C%7Cx@spD%7CtrAzwP%7Cd_@yiB~vXmlWhdPez%5C_%7BKm_%60@~re@ew%5ErcAeu_@zhyByjPrst@ttGren@aeNhoFemKrvdAuvVidPwbVr~j@or@f_z@ftHr%7BZlwBrvdAmtHrmT%7BrOt%7BZz%7DE%7Cc%7C@o%7CLpn~AgfRpxqBfoVz_iAocAhrVjr@rh~@jzKhjp@%60%60NrfQpcHrb%5Ek%7CDh_z@nwB%7Ckb@a%7BR%7Cyh@uyZ%7CllByuZpzw@wbd@rh~@%7C%7CFhqs@teTztrAupHhyY%7Dt%5Dhuf@e%7CFria@o%7DGfezAkdW%7C%7D%5BocMt_Neq@ren@e~Ika@pgE%7Ci%7CAfiQ%7C%60l@uoJrvdAgq@fppAsjGhg%60@%7ChQpg%7BAi_V%7C%7Cx@mkHhyYsdP%7CxeA~gF%7C%7D%5Bmv%60@t_NitSfjp@c%7DMhg%60@sbChyYq%7De@rwg@atFff%7D@ghN~zKybk@fl%7DA%7DcPftcAite@tmT__Lha@u~DrfQi%7DMhkSqyWivIumCria@ciO_tHifm@fl%7DA%7Brc@fbjAqvg@rrqAcjCf%7Ci@mqJtb%5Es%7C@fbjA%7BwDfs%60BmvEfqs@umWt_Nwn%5Epen@qiBr%60xAcvMr%7BZidg@dtjDkbM%7Cd_@ &key=YOUR_API_KEY&signature=YOUR_SIGNATURE
与标准路径一样,如果将 fillcolor 实参传递给 path 形参,编码多段线路径也可以划分多边形区域。
下例描画纽约市布鲁克林区的多边形区域轮廓:
https://maps.googleapis.com/maps/api/staticmap ?size=400x400¢er=40.653279,-73.959816&zoom=11 &path=fillcolor:0xAA000033%7Ccolor:0xFFFFFF00%7Cenc:%7DzswFtikbMjJzZ%7CRdPfZ%7DDxWvBjWpF~IvJnEvBrMvIvUpGtQpFhOQdKpz%40bIx%7BA%7CPfYlvApz%40bl%40tcAdTpGpVwQtX%7Di%40%7CGen%40lCeAda%40bjA%60q%40v%7D%40rfAbjA%7CEwBpbAd_%40he%40hDbu%40uIzWcWtZoTdImTdIwu%40tDaOXw_%40fc%40st%40~VgQ%7C%5BuPzNtA%60LlEvHiYyLs%5EnPhCpG%7DSzCNwHpz%40cEvXg%40bWdG%60%5DlL~MdTmEnCwJ%5BiJhOae%40nCm%5B%60Aq%5DqE_pAaNiyBuDurAuB%7D%7DAy%60%40%7CEKv_%40%3F%7C%5BqGji%40lAhYyH%60%40Xiw%40tBerAs%40q%5DjHohAYkSmW%3FaNoaAbR%7DLnPqNtMtIbRyRuDef%40eT_z%40mW_Nm%7CB~j%40zC~hAyUyJ_U%7BZ%3F%3FcPvg%40%7Ds%40sHsc%40_z%40cj%40kp%40YePoNyYyb%40_iAyb%40gBw%5EbOokArcA%7DGwJuzBre%40i%5Ctf%40sZnd%40oElb%40hStW%7B%5Dvv%40%3F%3Fkz%40~vAcj%40zKa%60Atf%40uQj_Aee%40pU_UrcA &key=YOUR_API_KEY&signature=YOUR_SIGNATURE
视口
图片可以通过使用 visible 参数指定可见位置来指定视口。visible 参数会指示 Maps Static API 服务构建地图,以便现有位置保持可见。(此参数也可以与现有标记或路径结合使用,以定义可见区域。)以这种方式定义视口,就无需指定确切的缩放级别。
下一个示例请求以马萨诸塞州波士顿为中心,同时包含马萨诸塞州剑桥市的麻省理工学院和哈佛广场的地图:
https://maps.googleapis.com/maps/api/staticmap?center=Boston,MA &visible=77+Massachusetts+Ave,Cambridge,MA%7CHarvard+Square,Cambridge,MA&size=512x512&key=YOUR_API_KEY&signature=YOUR_SIGNATURE
地图的隐式定位
通常,您需要指定 center 和 zoom 网址参数,以定义所生成地图的位置和缩放级别。不过,如果您提供 markers、path 或 visible 参数,则可以改为让 Maps Static API 根据对这些元素位置的评估,隐式确定正确的中心和缩放级别。
如果提供两个或更多元素,Maps Static API 将确定适当的中心和缩放级别,为所包含的元素提供充足的边距。以下示例显示了包含加利福尼亚州旧金山、奥克兰和圣何塞的地图:
https://maps.googleapis.com/maps/api/staticmap?size=512x512&maptype=roadmap\ &markers=size:mid%7Ccolor:red%7CSan+Francisco,CA%7COakland,CA%7CSan+Jose,CA&key=YOUR_API_KEY&signature=YOUR_SIGNATURE
更大的图片尺寸
如果您需要尺寸大于 640 x 640 像素(或 1280 x 1280 像素,缩放值为 2)的图片,请 与支持团队联系并提供以下信息:
- 您的应用场景以及您需要大尺寸图片的原因。
- 您是否考虑过使用其他 Google Maps Platform API(Maps JavaScript API、Maps Embed API、Maps SDK for Android 或 Maps SDK for iOS),以及这些 API 为何无法满足您的需求。
- 屏幕截图、模拟图或示例,展示您将如何使用大尺寸图片。
- 您每月预计使用的大尺寸图片数量。
我们将根据您提供的信息审核您的请求,并确定您的应用场景是否符合 Google Maps Platform 服务条款。
我们可提供的最大尺寸为 2048 x 2048 像素。
问题排查和支持
如需详细了解如何使用 Maps Static API,请参阅支持页面。
如果出现问题,Maps Static API 可能会发出错误或警告。如果您发现地图中缺少某些内容,则应特别注意检查警告。此外,最好在发布新应用之前检查是否有警告。请注意,这些警告可能不会立即显现,因为它们会显示在 HTTP 标头中。如需了解详情,请参阅错误和警告指南。







