前段时间做了一阵百度地图的内容,还未来的及总结,很快有些问题及解决办法都忘了,现在记录下之前比较纠结的问题,分享如下
如题,现在的导航SDK2.0的导航发起函数如下
public boolean launchNavigator(Activity activity,
java.util.List<BNRoutePlanNode> nodes,
int preference,
boolean isGPSNav,
BaiduNaviManager.RoutePlanListener listener)
文档给出的参数释义如下:
activity - 建议是应用的主Activitynodes - 传入的算路节点,顺序是起点、途经点、终点,其中途经点最多三个,参考 BNRoutePlanNodepreference - 算路偏好,参考RoutePlanPreference定义isGPSNav - true表示真实GPS导航,false表示模拟导航listener - 开始导航回调监听器,在该监听器里一般是进入导航过程页面取文档的释义如下:
public BNRoutePlanNode(double longitude,
double latitude,
java.lang.String name,
java.lang.String description,
BNRoutePlanNode.CoordinateType coType)
longitude - 经度latitude - 纬度name - 算路节点名description - 算路节点地址描述coType - 坐标类型,参考 CoordinateType
BD09_MC
百度墨卡托坐标
|
GCJ02
国测局坐标
|
WGS84
GPS坐标
|
以此希望可以帮到尚不明白如何转换的同学!
部分代码如下:
// 发起算路
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<BNRoutePlanNode> nodeList = new ArrayList<BNRoutePlanNode>(2); nodeList.add(startNode); nodeList.add(endNode); BaiduNaviManager.getInstance().launchNavigator(mActivity, nodeList, calcMode, true, new MapRoutePlanListener(startNode)); }
版权声明:本文为博主原创文章,未经博主允许不得转载。
Android百度地图SDK 导航SDK2.0结合定位SDK6.0.5的导航参数设置方法
原文地址:http://blog.csdn.net/zhanghaofor/article/details/47731449