百度地图静态图API,可实现将百度地图以图片形式嵌入到您的网页中。您只需发送HTTP请求访问百度地图静态图服务,便可在网页上以图片形式显示您的地图。静态图API较之JavaScript API载入的动态网站,既能满足基本的地图信息浏览,又能加快网页访问速度。
通过给<img>标签设置src属性即可将地图图片显示在网页中。用户可以指定图片的尺寸、地图的显示范围(包含中心点和缩放级别),还可以放置一些覆盖物在地图上,以生成符合需求的地图图片。
说明:静态图API V2.0已经完成产品升级,优化用户使用体验,提升服务稳定性,我们建议使用静态API服务的开发者尽快于2019年11月30日之前升级至静态图API v2.0版本。
以下示例包含北京市静态地图图片的网址,如下所示:
https://api.map.baidu.com/staticimage/v2?ak=E4805d16520de693a3fe707cdc962045&mcode=666666¢er=116.403874,39.914888&width=300&height=200&zoom=11//请将AK替换为您的AK
示例描述:返回300 x 200尺寸,中心点位于北京的地图图片。
显示高清地图:支持高清地图底图,可更好适配高分屏的移动设备。PNG格式的地图图片,地图大小、显示范围、缩放级别可设定。
添加标注点/标签:可生成添加多种覆盖物的地图图片,包括普通标注点、自定义样式标注点、标签、折线、多边形。
添加折线/面:支持生成带有折线、面等覆盖物的地图图片。
https://api.map.baidu.com/staticimage/v2 //GET请求
服务名:staticimage
版本号:v2
参数名 | 必选 | 默认值 | 描述 |
---|---|---|---|
ak | 是 | 无 | 用户的访问密钥。支持浏览器端AK和Android/IOS SDK的AK,服务端AK不支持sn校验方式。 |
mcode | 否 | 无 | 安全码。若为Android/IOS SDK的ak, 该参数必需。 |
width | 否 | 400 | 图片宽度。取值范围:(0, 1024]。Scale=2,取值范围:(0, 512]。 |
height | 否 | 300 | 图片高度。取值范围:(0, 1024]。Scale=2,取值范围:(0, 512]。 |
center | 否 | 北京 | 地图中心点位置,参数可以为经纬度坐标或名称。坐标格式:lng<经度>,lat<纬度>,例如116.43213,38.76623。 |
zoom | 否 | 11 | 地图级别。高清图范围[3, 18];低清图范围[3,19] |
copyright | 否 | pl | 静态图版权样式,0表示log+文字描述样式,1表示纯文字描述样式,默认为0。 |
dpiType | 否 | pl | 手机屏幕类型。取值范围:{ph:高分屏,pl:低分屏(默认)},高分屏即调用高清地图,低分屏为普通地图。 |
coordtype | 否 | bd09ll | 静态图的坐标类型。支持wgs84ll(wgs84坐标)/gcj02ll(国测局坐标)/bd09ll(百度经纬度)/bd09mc(百度墨卡托)。默认bd09ll(百度经纬度) |
scale | 否 | null | 返回图片大小会根据此标志调整。取值范围为1或2: 1表示返回的图片大小为size= width * height; |
bbox | 否 | null | 地图视野范围。格式:minX,minY;maxX,maxY。 |
markers | 否 | null | 标注,可通过经纬度或地址/地名描述;多个标注之间用竖线分隔。 |
markerStyles | 否 | null | 与markers有对应关系。markerStyles可设置默认图标样式和自定义图标样式。其中设置默认图标样式时,可指定的属性包括size,label和color;设置自定义图标时,可指定的属性包括url,注意,设置自定义图标时需要先传-1以此区分默认图标。 |
labels | 否 | null | 标签,可通过经纬度或地址/地名描述;多个标签之间用竖线分隔。坐标格式:lng<经度>,lat<纬度>,例如116.43213,38.76623。 |
labelStyles | 否 | null | 标签样式 content, fontWeight,fontSize,fontColor,bgColor, border。与labels一一对应。 |
paths | 否 | null | 折线,可通过经纬度或地址/地名描述;多个折线用竖线"|"分隔;每条折线的点用分号";"分隔;点坐标用逗号","分隔。坐标格式:lng<经度>,lat<纬度>,例如116.43213,38.76623。 |
pathStyles | 否 | null | 折线样式 color,weight,opacity[,fillColor]。 |
<img style="margin:20px" width="280" height="140" src="https://api.map.baidu.com/staticimage/v2?ak=E4805d16520de693a3fe707cdc962045&width=280&height=140&zoom=1"/>
示例效果:在iphone4(ios系统)中显示一张280*140,缩放级别为10的北京市地图。
<img style="margin:20px" width="280" height="140" src="https://api.map.baidu.com/staticimage/v2?ak=E4805d16520de693a3fe707cdc962045&width=280&height=140&zoom=11&scale=2"/>
示例效果:在iphone 4(ios系统)显示一张560*280,缩放级别为11的北京市高清地图
注意:用户在使用高分屏设备时,若要从低清图切换至高清图且保持同等显示效果,则需要在图片的请求url中指定scale=2。
标注位置-markers
可通过经纬度或地址/地名描述;多个标签之间用竖线分隔。例如:markers=百度大厦|115.404,38.915|颐和园
标注样式-markerStyles
设置标注的样式,若标注样式数少于点标记的个数,则多余的点标记的风格采用风格集合的最后一种。
属性 | 描述 |
---|---|
size | 有大中小三个值,分别为s、m、l。 |
label | 可以为[0-9]、[A-Z],不指定时显示A。 |
color | Color = [0x000000, 0xffffff]或使用css定义的颜色表。
black 0x000000 silver 0xC0C0C0 gray 0x808080 white 0xFFFFFF maroon 0x800000 red 0xFF0000 purple 0x800080 fuchsia 0xFF00FF green 0x008000 lime 0x00FF00 olive 0x808000 yellow 0xFFFF00 navy 0x000080 blue 0x0000FF teal 0x008080 aqua 0x00FFFF |
url | 自定义icon的地址,图片格式目前仅支持png32的。设置自定义图标标注时,忽略以上三个属性,只设置该属性且该属性前增加-1,如markerStyles=-1,https://api.map.baidu.com/images/marker_red.png 图标大小需小于5k,超过该值会导致加载不上图标的情况发生,图标的尺寸应小于256*256 |
https://api.map.baidu.com/staticimage/v2?ak=E4805d16520de693a3fe707cdc962045¢er=116.403874,39.914889&width=400&height=300&zoom=11&markers=116.288891,40.004261|116.487812,40.017524|116.525756,39.967111|116.536105,39.872374|116.442968,39.797022|116.270494,39.851993|116.275093,39.935251|116.383177,39.923743&markerStyles=l,A|m,B|l,C|l,D|m,E|,|l,G|m,H
// 返回一张在北京地图上添加多个普通标注点的地图图片
https://api.map.baidu.com/staticimage/v2?ak=E4805d16520de693a3fe707cdc962045&markers=%D6%D0%B9%D8%B4%E5&zoom=15&markerStyles=m,Y,0xFF0000
// 自定义marker颜色,参数格式:MarkerStyles=,,
https://api.map.baidu.com/staticimage/v2?ak=E4805d16520de693a3fe707cdc962045&zoom=15&markers=%D2%C3%BA%CD%D4%B0&markerStyles=-1,您的图片地址,-1
// 自定义icon,支持maker更换成自己喜欢的png图片。参数说明:markerStyles=-1,,-1
https://api.map.baidu.com/staticimage/v2?ak=E4805d16520de693a3fe707cdc962045¢er=%E5%A4%A9%E5%AE%89%E9%97%A8&width=300&height=200&zoom=16&markers=%E5%A4%A9%E5%AE%89%E9%97%A8&markerStyles=-1,https://api.map.baidu.com/images/marker_red.png,-1,23,25
请点击访问百度地图静态图可视化工具
WGS84:为一种大地坐标系,也是目前广泛使用的全球卫星定位系统使用的坐标系。
GCJ02:是由中国国家测绘局制订的地理信息系统的坐标系统。由WGS84坐标系经加密后的坐标系。
BD09:为百度坐标系,在GCJ02坐标系基础上再次加密。其中bd09ll表示百度经纬度坐标,bd09mc表示百度墨卡托米制坐标
全景静态图 API v2.0的输入参数支持以上三种坐标系,开发者无需进行任何坐标转换,通过请求参数"coordtype"指明所使用的坐标系即可。每个开发者账号每天调用“静态图”API 服务的总次数(即配额)是有限的。
每个开发者账号每天调用“静态图”API 服务的总次数(即并发量)是有限的。
每个ak可每天最多调用的服务次数与账户类型有关。
若需要更高配额和并发量,请申请开发者认证以获取更高配额和更及时的技术支持(若已认证,请通过API控制台-我的服务自行申请配额)。
同一个账号下的HTTP/HTTPS请求,配额,并发共享。
账户类型与配额及默认并发量说明如下
分类 | 未认证 | 个人认证 | 企业认证 |
---|---|---|---|
日配额(次) | 1,000,000 | 3,000,000 | 6,000,000 |
分钟并发数(次/分钟) | 24,000 | 30,000 | 30,000 |
API请求中需要用到中文或一些特殊字符的参数,如query、region等,为了避免提交到后台乱码,需要对这几个参数值进行编码处理,转换成UTF-8字符的二字符十六进制值,凡是不在下表中的字符都需要进行编码。
字符集合 | 字符 |
URL非保留字 |
a b c d e f g h i j k l m n o p q r s t u v w x y z A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 0 1 2 3 4 5 6 7 8 9 - _ . ~ |
URL保留字 |
! * ' ( ) ; : @ & = + $ , / ? % # [ ] |
如果中文参数中使用URL保留字字符的字面意思,例如:region关键字取值为"?北京",检索关键字包含一个问号,此问号也必须进行编码。
附注:
javascript中一般采用encodeURIComponent函数对特殊字符进行编码。
Java中可以使用函数URLEncoder.encode对特殊字符进行编码。
C#中可以使用函数HttpUtility.UrlEncode对特殊字符进行编码。
php中可以使用函数urlencode对特殊字符进行编码。