日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

android6.0 百度地图,Android百度地图SDK 导航SDK2.0结合定位SDK6.0.5的导航参数设置方法...

發布時間:2025/4/16 46 豆豆
生活随笔 收集整理的這篇文章主要介紹了 android6.0 百度地图,Android百度地图SDK 导航SDK2.0结合定位SDK6.0.5的导航参数设置方法... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

是否執行成功?其中對于算路的節點,現在有了一個新的規則,可見BNRoutePlanNode

取文檔的釋義如下:

public?BNRoutePlanNode(double?longitude,

double?latitude,

java.lang.String?name,

java.lang.String?description,

BNRoutePlanNode.CoordinateType?coType)

算路節點構造方法.

參數:longitude?- 經度latitude?- 緯度name?- 算路節點名description?- 算路節點地址描述coType?- 坐標類型,參考?CoordinateType

可見現在對于算路節點的坐標類型有了一個標準,也即

百度墨卡托坐標

國測局坐標

GPS坐標

坐標類型必須為以上三種,否則如果不指定或者默認匹配不到這三種坐標類型則都會導致算路失敗。

但是百度定位SDK的坐標系一般用的是bd09ll類型,這時候就需要用到類型轉換,在5.3版本之前可以有另一種方法來轉換的,但是5.3版本就取消了,于是6.0.5之后就有了這個函數來做轉換,如下

public static BDLocation getBDLocationInCoorType(BDLocation src,

java.lang.String transferType)

根據設定的轉換坐標系類型得到相應坐標系下的BDLocation

參數:

BDLocation - src 原始BDLocation

transferType - BDLocation.BDLOCATION_GCJ02_TO_BD09/BDLOCATION_GCJ02_TO_BD09LL/BDLOCATION_BD09_TO_GCJ02/ BDLOCATION_BD09LL_TO_GCJ02

用這個就可以直接將百度定位和地圖獲取的BDLocation轉換成可以直接使用的導航參數。

以此希望可以幫到尚不明白如何轉換的同學!

部分代碼如下:

// 發起算路

private void startCalcRoute(int calcMode) {

// 顯示加載對話框

DialogUtil.getInstance().showProgressDialog(mActivity);

if (mBdLocation == null) {

Toast.makeText(this, getString(R.string.map_location_failed), Toast.LENGTH_LONG).show();

// 取消加載對話框

DialogUtil.getInstance().dismissProgressDialog();

return;

}

if (calcMode == 0)

calcMode = BaiduNaviManager.RoutePlanPreference.ROUTE_PLAN_MOD_AVOID_TAFFICJAM;

double sX = 0, sY = 0, eX = 0, eY = 0;

sX = LocationClient.getBDLocationInCoorType(mBdLocation, BDLocation.BDLOCATION_BD09LL_TO_GCJ02).getLatitude();

sY = LocationClient.getBDLocationInCoorType(mBdLocation, BDLocation.BDLOCATION_BD09LL_TO_GCJ02).getLongitude();

BNRoutePlanNode startNode = new BNRoutePlanNode(sY, sX, "我的位置", "我的位置");BDLocation bd = new BDLocation();

bd.setLatitude(destLat);

bd.setLongitude(destLng);

eX = LocationClient.getBDLocationInCoorType(bd, BDLocation.BDLOCATION_BD09LL_TO_GCJ02).getLatitude();

eY = LocationClient.getBDLocationInCoorType(bd, BDLocation.BDLOCATION_BD09LL_TO_GCJ02).getLongitude();

BNRoutePlanNode endNode = new BNRoutePlanNode(eY, eX, strDestAddress, strDestAddress);

ArrayList nodeList = new ArrayList(2);

nodeList.add(startNode);

nodeList.add(endNode);

BaiduNaviManager.getInstance().launchNavigator(mActivity, nodeList, calcMode, true,

new MapRoutePlanListener(startNode));

}

總結

以上是生活随笔為你收集整理的android6.0 百度地图,Android百度地图SDK 导航SDK2.0结合定位SDK6.0.5的导航参数设置方法...的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。