百度地图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.csdn.net/tom_gy_/article/details/103153408
以上参数为必填参数,若开发者对返回的实景图片显示有其他要求可添加如下参数:

  • width;height:使用这两个参数控制返回图片的大小。
  • fov;heading;pitch:结合此三个参数控制返回图片大小视角范围。

若读者对这些参数使用任有疑惑,可继续向下看关于此接口的测试例子。

Postman接口请求测试

本次测试以故宫的uid作为实景图调用主要参数。

故宫uid:06d2dffda107b0ef89f15db6

百度地图WEB服务-全景静态图使用心得
不使用控制返回图片大小视角范围参数测试请求链接:

http://api.map.baidu.com/panorama/v2?ak=你的ak&width=300&height=300&poiid=06d2dffda107b0ef89f15db6

返回图片:
百度地图WEB服务-全景静态图使用心得
使用控制返回图片大小视角范围参数测试请求链接:

http://api.map.baidu.com/panorama/v2?ak=你的ak&width=600&height=300&poiid=06d2dffda107b0ef89f15db6&fov=360

返回图片:
百度地图WEB服务-全景静态图使用心得
以上为笔者本人对百度地图WEB服务实景图接口的一些使用理解,希望对读者有帮助。
更多有关实景图接口使用详情可查看官方服务文档:http://lbsyun.baidu.com/index.php?title=viewstatic
相关百度地图方面博文后面会持续更新,欢迎大家支持!