zoukankan      html  css  js  c++  java
  • 高德坐标转百度坐标并导航

    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

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

  • 相关阅读:
    Introduce myself
    二叉搜索树的后序遍历序列(剑指offer-23)
    从上到下打印二叉树(剑指offer-22)
    二叉树的深度(剑指offer-38)
    不用加减乘除做加法(剑指offer-48)
    栈的压入、弹出序列(剑指offer-21)
    Java容器
    包含min函数的栈(剑指offer-20)
    在Docker中创建Mongodb数据库
    词向量聚类实验
  • 原文地址:https://www.cnblogs.com/freexiaoyu/p/4106967.html
Copyright © 2011-2022 走看看