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 Studio真機無線連接USB設備調試運行詳解流程
你在Android Studio寫app時是否也有想過如果可以不用數據線連接手機調試運行就好了?如果需要取出數據線插接的話我肯定是嫌麻煩的,但是模擬器有時候需要測試一些需要硬件支持的功能時又不管用,所以最好的測試還是在真機上,本篇教你扔掉數據線來無線調試2021-11-11
android編程實現設置、打開wifi熱點共享供他人連接的方法
這篇文章主要介紹了android編程實現設置、打開wifi熱點共享供他人連接的方法,涉及Android創(chuàng)建WiFi及設置共享的相關實現技巧,具有一定參考借鑒價值,需要的朋友可以參考下2015-11-11
Android創(chuàng)建與解析XML(二)——詳解Dom方式
本篇文章主要介紹了Android創(chuàng)建與解析XML(二)——詳解Dom方式 ,這里整理了詳細的代碼,有需要的小伙伴可以參考下。2016-11-11
Android Fragment滑動組件ViewPager的實例詳解
這篇文章主要介紹了Android Fragment滑動組件ViewPager的實例詳解的相關資料,需要的朋友可以參考下2017-05-05
Android控件系列之Button以及Android監(jiān)聽器使用介紹
Button是各種UI中最常用的控件之一,它同樣也是Android開發(fā)中最受歡迎的控件之一,用戶可以通過觸摸它來觸發(fā)一系列事件,要知道一個沒有點擊事件的Button是沒有任何意義的,因為使用者的固定思維是見到它就想去點2012-11-11

