您的位置:首页 > 其它

百度地图之六标注行走路线搜索

2013-04-13 13:56 639 查看
如何标注行走路线搜索及RouteOverlay
在实际开发中我们需要标注最优行走路线
实战案例:从天安门到百度大厦行走路线
主要代码:
importcom.baidu.mapapi.BMapManager;
importcom.baidu.mapapi.GeoPoint;
importcom.baidu.mapapi.MKAddrInfo;
importcom.baidu.mapapi.MKBusLineResult;
importcom.baidu.mapapi.MKDrivingRouteResult;
importcom.baidu.mapapi.MKGeneralListener;
importcom.baidu.mapapi.MKPlanNode;
importcom.baidu.mapapi.MKPoiResult;
importcom.baidu.mapapi.MKSearch;
importcom.baidu.mapapi.MKSearchListener;
importcom.baidu.mapapi.MKSuggestionResult;
importcom.baidu.mapapi.MKTransitRouteResult;
importcom.baidu.mapapi.MKWalkingRouteResult;
importcom.baidu.mapapi.MapActivity;
importcom.baidu.mapapi.MapView;
importcom.baidu.mapapi.RouteOverlay;

importandroid.os.Bundle;
importandroid.widget.Toast;

publicclassMainActivityextendsMapActivity{

//添加百度地图的相关控件
privateMapViewmapView;
//加载地图的引擎
privateBMapManagerbMapManager;
//百度地图的key
privateStringKeyString="8C426377B3526B6BF3672C9BA3BB544D1E8289CD";
//用于位置检索、周边检索、范围检索、公交检索、驾乘检索、步行检索等
privateMKSearchmkSearch;

//定义一个起始点,终点
privateMKPlanNodestart;
privateMKPlanNodeend;

@Override
publicvoidonCreate(BundlesavedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
mapView=(MapView)this.findViewById(R.id.bmapView);
bMapManager=newBMapManager(MainActivity.this);
//必须要加载key
bMapManager.init(KeyString,newMKGeneralListener(){

publicvoidonGetPermissionState(intarg0){

}

publicvoidonGetNetworkState(intarg0){
if(arg0==300){
Toast.makeText(MainActivity.this,"输入的key有错,请核实!!",1).show();
}
}
});
this.initMapActivity(bMapManager);
//实例化地图的查询类
mkSearch=newMKSearch();
mkSearch.init(bMapManager,newMySearchListener());
//给起始点构建一个坐标
start=newMKPlanNode();
start.pt=newGeoPoint((int)(39.915*1E6),(int)(116.404*1E6));
end=newMKPlanNode();
end.pt=newGeoPoint(40057031,116307852);
mkSearch.walkingSearch(null,start,null,end);


}

publicclassMySearchListenerimplementsMKSearchListener{

publicvoidonGetAddrResult(MKAddrInfoarg0,intarg1){
//TODOAuto-generatedmethodstub

}

publicvoidonGetBusDetailResult(MKBusLineResultarg0,intarg1){
//TODOAuto-generatedmethodstub

}

publicvoidonGetDrivingRouteResult(MKDrivingRouteResultarg0,intarg1){
//TODOAuto-generatedmethodstub
}

publicvoidonGetPoiResult(MKPoiResultresult,inttype,intiError){
//TODOAuto-generatedmethodstub
}

publicvoidonGetRGCShareUrlResult(Stringarg0,intarg1){
//TODOAuto-generatedmethodstub

}

publicvoidonGetSuggestionResult(MKSuggestionResultarg0,intarg1){
//TODOAuto-generatedmethodstub

}

publicvoidonGetTransitRouteResult(MKTransitRouteResultarg0,intarg1){
//TODOAuto-generatedmethodstub

}

publicvoidonGetWalkingRouteResult(MKWalkingRouteResultarg0,intarg1){
//TODOAuto-generatedmethodstub
if(arg0==null){
return;
}
RouteOverlayrouteOverlay=newRouteOverlay(MainActivity.this,mapView);
routeOverlay.setData(arg0.getPlan(0).getRoute(0));
mapView.getOverlays().add(routeOverlay);
mapView.invalidate();
}
}

@Override
protectedvoidonDestroy(){
super.onDestroy();
if(bMapManager!=null){
bMapManager.destroy();
bMapManager=null;
}
}

@Override
protectedvoidonResume(){
super.onResume();
if(bMapManager!=null){
bMapManager.start();
}
}

@Override
protectedvoidonPause(){
super.onPause();
if(bMapManager!=null){
bMapManager.stop();
}
}

@Override
protectedbooleanisRouteDisplayed(){
returnfalse;
}

}




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