高德坐标转百度坐标并导航

APP用的是高德SDK

业务是用户点击APP中的导航按钮,会根据用户当前手机安装地图APP进行导航,顺序是 1高德 2百度,如果用户没有安装高德地图APP则判断是否有百度地图APP因为APP是用的高德SDK所以在导航上没有任何问题,跳转百度后 坐标误差比较大有时候 导航提示 未搜索到结果之类的,造成这个原因是高德和百度坐标不一至,这个时候需要坐标转换

百度提供坐标转换接口 http://developer.baidu.com/map/changeposition.htm 按文档操作 

http://api.map.baidu.com/geoconv/v1/?coords=lon,lat&from=3&to=5&output=json&ak={自己申请的key}

to 5表示 bd09ll(百度经纬度坐标),

然后将返回的坐标 bslat=x; bslon=y; 开发位置 belat=x,belon=y; 结果位置

然后执行跳转

 

 1 try {
 2 url="intent://map/direction?origin=latlng:"+bslon+","+bslat+"|" +
 3 "&destination=latlng:"+belon+","+belat+"|"+address+"&mode=driving&region="+city+"&src=companyname|appname#Intent;" +
 4 "scheme=bdapp;package=com.baidu.BaiduMap;end";
 5 Intent intent = Intent.getIntent(url);
 6 } catch (URISyntaxException e) {
 7 // TODO Auto-generated catch block
 8 e.printStackTrace();
 9 }
10 
11 
12 startActivity(intent);

这里要注意的时候 传入经纬度的时候 要看好 开始位置 latlng:是经度纬度  当时看到这个变量以为是纬度经度了 哎 文档上面说明

http://developer.baidu.com/map/uri-introandroid.htm

这样传入坐标就正确就可以正确使用导航

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值