百度地图WEB服务-全景静态图使用心得
百度地图WEB服务-全景静态图使用心得
在进行一些有关地图或出行服务的应用开发中,常常需要使用到实景的图片以给用户直观的体验,想要实现此功能通过百度地图提供的全景静态图接口即可实现。
全景静态图接口
使用此接口,开发者只需要设置图片尺寸、经纬度坐标等参数,发送HTTP请求访问百度地图全景静态图服务,便可在PC浏览器、手机浏览器、移动APP或者车机显示屏中以图片形式展示全景图。
接口连接如下:
http://api.map.baidu.com/panorama/v2
接口包含参数列表如下:
参数名称 | 说明 |
---|---|
ak | 用户申请注册的key,自v2版本开始参数修改为“ak”,之前版本参数为“key”(申请ak),只支持浏览器端ak和Android/IOS SDK的ak,服务端ak不支持sn校验方式 |
location | 全景位置点坐标。坐标格式:lng<经度>,lat<纬度>,例如116.313393,40.047783。 |
panoid | 全景图id |
poiid | poi的id |
coordtype | 全景位置点的坐标类型,目前支持bd09ll(百度坐标),wgs84ll(GPS坐标)和gcj02(google,高德,soso坐标),默认为bdo9ll |
width | 获取返回图片宽度值(像素值),范围[10,1024](默认值400) |
height | 获取返回图片高度值 (像素值),范围[10,512](默认值300) |
fov | 水平方向范围,范围[10,360],fov=360即可显示整幅全景图 |
heading | 水平视角,范围[0,360] |
pitch | 垂直视角,范围[0,90] |
mcode | 安全码。若为Android/IOS SDK的ak, 该参数必需 |
以上参数中ak为必填字段,是开发者调用该接口的唯一标识。
location,panoid,poiid三者在调用时分使用情况选择至少一种填写即可,三参数字段优先级为:poiid>panoid>location,下为具体使用区别:
- location:根据经纬度获取对应实景图,使用此参数可能出现无法获得对应图片情况,使用时需注意,使用其他两种获取图片更加稳定。
- panoid:根据全景图id获取对应全景图,在知道相应实景图id情况下使用此参数更加稳妥。
- poiid:根据POI中返回id获取,此参数是我认为最常用和稳妥的使用参数,此id可通过地点检索接口或逆编码接口等百度地图提供接口返回的POI信息中获得的对应接口中获得。
若对POI不是很了解可阅读百度地图官方文档:http://lbs.baidu.com/index.php?title=iossdk/guide/search/poi
或观看笔者上一篇关于逆编码文章中介绍:
https://blog.****.net/tom_gy_/article/details/103153408
以上参数为必填参数,若开发者对返回的实景图片显示有其他要求可添加如下参数:
- width;height:使用这两个参数控制返回图片的大小。
- fov;heading;pitch:结合此三个参数控制返回图片大小视角范围。
若读者对这些参数使用任有疑惑,可继续向下看关于此接口的测试例子。
Postman接口请求测试
本次测试以故宫的uid作为实景图调用主要参数。
故宫uid:06d2dffda107b0ef89f15db6
不使用控制返回图片大小视角范围参数测试请求链接:
http://api.map.baidu.com/panorama/v2?ak=你的ak&width=300&height=300&poiid=06d2dffda107b0ef89f15db6
返回图片:
使用控制返回图片大小视角范围参数测试请求链接:
http://api.map.baidu.com/panorama/v2?ak=你的ak&width=600&height=300&poiid=06d2dffda107b0ef89f15db6&fov=360
返回图片:
以上为笔者本人对百度地图WEB服务实景图接口的一些使用理解,希望对读者有帮助。
更多有关实景图接口使用详情可查看官方服务文档:http://lbsyun.baidu.com/index.php?title=viewstatic
相关百度地图方面博文后面会持续更新,欢迎大家支持!