Android 路径查询具体实现
更新时间:2013年10月04日 16:49:51 作者:
可以通过RasterMap的getDirection()方法来查询路径,和查询地址类似,路径查询的结果也是通过回调函数的方式来通知应用程序的,下面的例子返回南京到北京的路径
返回结果存放在MapDirection中,MapDirection包含了路径的详细信息,包括路径的每个步骤,长度,时间,方向等。
Java代码:
packageeoe.demo;
importcom.mapdigit.gis.MapDirection;
importcom.mapdigit.gis.MapPoint;
importcom.mapdigit.gis.geometry.GeoLatLng;
importcom.mapdigit.gis.service.IRoutingListener;
importcom.pstreets.gisengine.R;
importcom.pstreets.gisengine.SharedMapInstance;
importandroid.app.Activity;
importandroid.os.Bundle;
importandroid.view.Menu;
importandroid.view.MenuInflater;
importandroid.view.MenuItem;
publicclassMapRoutingextendsActivityimplementsIRoutingListener{
@Override
publicvoidonCreate(BundlesavedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
@Override
publicvoidonStart(){
super.onStart();
GeoLatLngcenter=newGeoLatLng(32.0616667,118.7777778);
SharedMapInstance.map.setCenter(center,15,
com.mapdigit.gis.raster.MapType.MICROSOFTCHINA);
SharedMapInstance.map.setRoutingListener(this);
}
@Override
publicbooleanonCreateOptionsMenu(Menumenu){
MenuInflaterinflater=getMenuInflater();
inflater.inflate(R.menu.maprouting_menu,menu);
returntrue;
}
@Override
publicbooleanonOptionsItemSelected(MenuItemitem){
//Handleitemselection
switch(item.getItemId()){
caseR.id.getdirection:
Stringname1="南京";
Stringname2="北京";
SharedMapInstance.map.getDirections("from:"+name1+"to:"
+name2);
returntrue;
default:
returnsuper.onOptionsItemSelected(item);
}
}
@Override
publicvoiddone(Stringquery,MapDirectionresult){
if(result!=null){
SharedMapInstance.map.setMapDirection(result);
SharedMapInstance.map.resize(result.getBound());
SharedMapInstance.map.zoomOut();
SharedMapInstance.map.zoomOut();
}
}
@Override
publicvoidreadProgress(intbytes,inttotal){
}
}
Java代码:
复制代码 代码如下:
packageeoe.demo;
importcom.mapdigit.gis.MapDirection;
importcom.mapdigit.gis.MapPoint;
importcom.mapdigit.gis.geometry.GeoLatLng;
importcom.mapdigit.gis.service.IRoutingListener;
importcom.pstreets.gisengine.R;
importcom.pstreets.gisengine.SharedMapInstance;
importandroid.app.Activity;
importandroid.os.Bundle;
importandroid.view.Menu;
importandroid.view.MenuInflater;
importandroid.view.MenuItem;
publicclassMapRoutingextendsActivityimplementsIRoutingListener{
@Override
publicvoidonCreate(BundlesavedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
@Override
publicvoidonStart(){
super.onStart();
GeoLatLngcenter=newGeoLatLng(32.0616667,118.7777778);
SharedMapInstance.map.setCenter(center,15,
com.mapdigit.gis.raster.MapType.MICROSOFTCHINA);
SharedMapInstance.map.setRoutingListener(this);
}
@Override
publicbooleanonCreateOptionsMenu(Menumenu){
MenuInflaterinflater=getMenuInflater();
inflater.inflate(R.menu.maprouting_menu,menu);
returntrue;
}
@Override
publicbooleanonOptionsItemSelected(MenuItemitem){
//Handleitemselection
switch(item.getItemId()){
caseR.id.getdirection:
Stringname1="南京";
Stringname2="北京";
SharedMapInstance.map.getDirections("from:"+name1+"to:"
+name2);
returntrue;
default:
returnsuper.onOptionsItemSelected(item);
}
}
@Override
publicvoiddone(Stringquery,MapDirectionresult){
if(result!=null){
SharedMapInstance.map.setMapDirection(result);
SharedMapInstance.map.resize(result.getBound());
SharedMapInstance.map.zoomOut();
SharedMapInstance.map.zoomOut();
}
}
@Override
publicvoidreadProgress(intbytes,inttotal){
}
}
您可能感兴趣的文章:
相关文章
Android UI设计与开发之仿人人网V5.9.2最新版引导界面
这篇文章主要为大家详细介绍了Android UI设计与开发之仿人人网V5.9.2最新版引导界面,具有一定的参考价值,感兴趣的小伙伴们可以参考一下2017-08-08
如果你在Android Studio碰到gradle的各种问题就来看这篇文章吧(强烈建议收藏)
这篇文章主要介绍了你可能会在Android Studio碰到gradle的各种问题,完美解决关于gradle的全部问题,切记收藏以防需要的时候找不到了哦2021-08-08
android Gallery组件实现的iPhone图片滑动效果实例
这篇文章主要介绍了android Gallery组件实现的iPhone图片滑动效果实例,即相册内的图片实现可左右滑动的效果,需要的朋友可以参考下2014-07-07


最新评论