Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> Android開發實例 >> 安卓開發中路徑查詢實例

安卓開發中路徑查詢實例

編輯:Android開發實例

  今天就來看一個安卓開發中路徑查詢的實例,實現方式可以通過RasterMap的getDirection()方法來查詢路徑,和查詢地址類似,路徑查詢的結果也是通過回調函數的方式來通知應用程序的,下面的例子返回南京到北京的路徑。返回結果存放在MapDirection中,MapDirection包含了路徑的詳細信息,包括路徑的每個步驟,長度,時間,方向等。

  Java代碼:

  package eoe.demo;

  import com.mapdigit.gis.MapDirection;

  import com.mapdigit.gis.MapPoint;

  import com.mapdigit.gis.geometry.GeoLatLng;

  import com.mapdigit.gis.service.IRoutingListener;

  import com.pstreets.gisengine.R;

  import com.pstreets.gisengine.SharedMapInstance;

  import android.app.Activity;

  import android.os.Bundle;

  import android.view.Menu;

  import android.view.MenuInflater;

  import android.view.MenuItem;

  public class MapRouting extends Activity implements IRoutingListener {

  @Override

  public void onCreate(Bundle savedInstanceState) {

  super.onCreate(savedInstanceState);

  setContentView(R.layout.main);

  }

  @Override

  public void onStart() {

  super.onStart();

  GeoLatLng center = new GeoLatLng(32.0616667, 118.7777778);

  SharedMapInstance.map.setCenter(center, 15,

  com.mapdigit.gis.raster.MapType.MICROSOFTCHINA);

  SharedMapInstance.map.setRoutingListener(this);

  }

  @Override

  public boolean onCreateOptionsMenu(Menu menu) {

  MenuInflater inflater = getMenuInflater();

  inflater.inflate(R.menu.maprouting_menu, menu);

  return true;

  }

  @Override

  public boolean onOptionsItemSelected(MenuItem item) {

  // Handle item selection

  switch (item.getItemId()) {

  case R.id.getdirection:

  String name1 = "南京";

  String name2 = "北京";

  SharedMapInstance.map.getDirections("from: " + name1 + " to: "

  + name2);

  return true;

  default:

  return super.onOptionsItemSelected(item);

  }

  }

  @Override

  public void done(String query, MapDirection result) {

  if (result != null) {

  SharedMapInstance.map.setMapDirection(result);

  SharedMapInstance.map.resize(result.getBound());

  SharedMapInstance.map.zoomOut();

  SharedMapInstance.map.zoomOut();

  }

  }

  @Override

  public void readProgress(int bytes, int total) {

  }

  }

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved