您的位置:首页 > 其它

发起路线规划搜索示例

2015-10-13 16:51 344 查看
第一步:先 implements OnGetRoutePlanResultListener

第二步:获取起点和终点的经纬度

double lat = (double) getonLat / 1000000;

double log = (double) getonLon / 1000000;

startPoint = new LatLng(lat, log);// 起点

double offlat = (double) getoffLat / 1000000;

double offlog = (double) getoffLon / 1000000;

endPoint = new LatLng(offlat, offlog);// 终点

第三步:调用SearchButtonProcess();

SearchButtonProcess(startPoint, endPoint);// MapUtil.getCurrentLocation()

部分源码:

/**

* 发起路线规划搜索示例

*

* @param v

*/

private void SearchButtonProcess(LatLng llA, LatLng llB) {

// 初始化搜索模块,注册事件监听

mSearch = RoutePlanSearch.newInstance();

mSearch.setOnGetRoutePlanResultListener(this);

PlanNode stNode = PlanNode.withLocation(llA);

PlanNode enNode = PlanNode.withLocation(llB);

mSearch.drivingSearch((new DrivingRoutePlanOption()).from(stNode).to(

enNode));

}

@Override

public void onGetDrivingRouteResult(DrivingRouteResult result) {

// 获取驾车线路规划结果

if (result == null || result.error != SearchResult.ERRORNO.NO_ERROR) {

Toast.makeText(IndividualOrderActivity.this, "抱歉,未找到结果",

Toast.LENGTH_SHORT).show();

}

if (result.error == SearchResult.ERRORNO.AMBIGUOUS_ROURE_ADDR) {

// 起终点或途经点地址有岐义,通过以下接口获取建议查询信息

// result.getSuggestAddrInfo()

return;

}

if (result.error == SearchResult.ERRORNO.NO_ERROR) {

DrivingRouteOverlay overlay = new DrivingRouteOverlay(mBaidumap);

routeOverlay = overlay;

mBaidumap.setOnMarkerClickListener(overlay);

overlay.setData(result.getRouteLines().get(0));

overlay.addToMap();

overlay.zoomToSpan();

}

}

@Override

public void onGetTransitRouteResult(TransitRouteResult arg0) {

// 获取公交换乘路径规划结果

}

@Override

public void onGetWalkingRouteResult(WalkingRouteResult arg0) {

// 获取步行线路规划结果

}

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: