关于百度导航传入坐标后位置偏移

这几天由于项目需要,在编写一个地图上的导航功能;

我将百度上的sdk以及demo下载下来传入【百度定位】 的 坐标以及目的地的坐标,但是开启导航后位置却向西北方向偏了几百米;

经过我对百度定位sdk api 以及百度导航sdk api的查看,感觉应该是坐标类型不一样;

百度定位的默认坐标类弄是gcj02 ,而百度导航的默认坐标类型是GCJ


感觉只要导航的时候把坐标类型修改为GCJ02就行了,当然在定位的时候也可以设置为其它的坐标类型,那么就需要在导航的时候设置成同样的坐标类型;

   private void launchNavigator2( GeoPoint startPt, GeoPoint endPt, String address )
    {
        // 这里给出一个起终点示例,实际应用中可以通过POI检索、外部POI来源等方式获取起终点坐标
        BNaviPoint startPoint = new BNaviPoint( startPt.getLongitudeE6() / ( 1.0 * 1e6 ),
                startPt.getLatitudeE6() / ( 1.0 * 1e6 ), "我的位置", BNaviPoint.CoordinateType.BD09_MC );
        BNaviPoint endPoint = new BNaviPoint( endPt.getLongitudeE6() / ( 1.0 * 1e6 ),
                endPt.getLatitudeE6() / ( 1.0 * 1e6 ), address, BNaviPoint.CoordinateType.BD09_MC );
        BaiduNaviManager.getInstance().launchNavigator( this, startPoint, // 起点(可指定坐标系)
                endPoint, // 终点(可指定坐标系)
                NE_RoutePlan_Mode.ROUTE_PLAN_MOD_MIN_TIME, // 算路方式
                true, // 真实导航
                BaiduNaviManager.STRATEGY_FORCE_ONLINE_PRIORITY, // 在离线策略
                new OnStartNavigationListener()
                { // 跳转监听

                    @Override
                    public void onJumpToNavigator( Bundle configParams )
                    {
                        Intent intent = new Intent( HistoryActivity.this, BNavigatorActivity.class );
                        intent.putExtras( configParams );
                        startActivity( intent );
                    }

                    @Override
                    public void onJumpToDownloader()
                    {
                    }
                } );
    }


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值