微信公众平台开发(69)百度地图导航

微信公众平台开发 百度地图导航
作者:方倍工作室 
地址:http://www.cnblogs.com/txw1958/p/weixin69-navigation.html

 

一、获取目的地坐标

打开百度地图API 鼠标点击拾取坐标网页,http://developer.baidu.com/map/jsdemo/demo/a6_3.htm,通过先缩小再放大,定位到拾取坐标的建筑物。

以深圳市飞亚达科技大厦为例,定位如下:

微信公众平台开发(69)百度地图导航_第1张图片

鼠标点击大厦名称,获得坐标:

113.962182, 22.544976

这分别表示经度和纬度。

 

二、百度地图公交、驾车、步行导航

导航接口为

http://api.map.baidu.com/direction   //PC&Webapp服务地址

参数名称 参数说明 是否必选 备注
origin 起点名称或经纬度,或者可同时提供名称和经纬度,此时经纬度优先级高,将作为导航依据,名称只负责展示。 必选 1、名称:天安门
2、经纬度:39.98871<纬度>,116.43234<经度>。
3、名称和经纬度:name:天安门|latlng:39.98871,116.43234
destination 终点名称或经纬度,或者可同时提供名称和经纬度,此时经纬度优先级高,将作为导航依据,名称只负责展示。 必选 同上
mode 导航模式,固定为transit、driving、walking,分别表示公交、驾车和步行 必选  
region 城市名或县名 当给定region时,认为起点和终点都在同一城市,除非单独给定起点或终点的城市。  
origin_region 起点所在城市或县 同上  
destination_region 终点所在城市或县 同上  
output 表示输出类型,web上必须指定为html才能展现地图产品结果。 必选 手机客户端忽略此参数
coord_type 坐标类型,可选参数 可选 默认为bd09经纬度坐标。允许的值为bd09ll、bd09mc、gcj02、wgs84。bd09ll表示百度经纬度坐标,bd09mc表示百度墨卡托坐标,gcj02表示经过国测局加密的坐标,wgs84表示gps获取的坐标
zoom 展现地图的级别,默认为视觉最优级别。 可选  
src 调用来源,规则:companyName|appName。 必选  

示例

http://api.map.baidu.com/direction?origin=latlng:34.264642646862,108.95108518068|name:我家&desti
nation=大雁塔&mode=driving&region=西安&output=html&src=yourCompanyName|yourAppName
//调起百度PC或Web地图,展示"西安市"从(lat:34.264642646862,lng:108.95108518068 )"我家"到"大雁塔"的驾车
路线。

 

三、微信消息封装

根据上述消息,当收到微信地理地位坐标消息时,直接拼接出公交、驾车、步行的url,并将相应的url填在图文消息的链接中。

代码如下所示:

微信公众平台开发(69)百度地图导航_第2张图片

 

四、实现效果

接收到地理位置消息时

微信公众平台开发(69)百度地图导航_第3张图片

公交导航

微信公众平台开发(69)百度地图导航_第4张图片 

驾车导航

微信公众平台开发(69)百度地图导航_第5张图片 微信公众平台开发(69)百度地图导航_第6张图片

同时还有百度提供的Web版GPS实时导航

微信公众平台开发(69)百度地图导航_第7张图片 

步行导航

微信公众平台开发(69)百度地图导航_第8张图片

 

 

 

你可能感兴趣的:(微信公众平台开发(69)百度地图导航)