当前位置:操作系统 > 安卓/Android >>

Android 路径查询


Android 路径查询
可以通过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){ } }

 

补充:移动开发 , Android ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,