Android引路蜂地图开发示例:地图平移

jerry 地图开发 2015年11月26日 收藏

RasterMap 有两个方法可以用于平移地图,panTo 将地图移动到指定经纬度坐标,panDirection(dx,dy) 将地图从当前位置平移dx,dy 个象素。
GuidebeeMapView实现了对TouchEvent处理,可以通过Touch事件来平移地图,下列示例是通过菜单来以上,下,左,右平移地图。

  1. package com.pstreets.gisengine.demo;
  2.  
  3. import com.mapdigit.gis.geometry.GeoLatLng;
  4. import com.pstreets.gisengine.R;
  5. import com.pstreets.gisengine.SharedMapInstance;
  6. import com.mapdigit.gis.raster.MapType;
  7. import android.app.Activity;
  8. import android.os.Bundle;
  9. import android.view.Menu;
  10. import android.view.MenuInflater;
  11. import android.view.MenuItem;
  12.  
  13. public class MapPan extends Activity {
  14.  
  15.  @Override
  16.  public void onCreate(Bundle savedInstanceState) {
  17.   super.onCreate(savedInstanceState);
  18.   setContentView(R.layout.main);
  19.  }
  20.  
  21.  @Override
  22.  public void onStart() {
  23.   super.onStart();
  24.   GeoLatLng center = new GeoLatLng(32.0616667, 118.7777778);
  25.   SharedMapInstance.map.setCenter(center, 13, MapType.MICROSOFTCHINA);
  26.  
  27.  }
  28.  
  29.  @Override
  30.  public boolean onCreateOptionsMenu(Menu menu) {
  31.   MenuInflater inflater = getMenuInflater();
  32.   inflater.inflate(R.menu.mappan_menu, menu);
  33.   return true;
  34.  }
  35.  
  36.  @Override
  37.  public boolean onOptionsItemSelected(MenuItem item) {
  38.   // Handle item selection
  39.   switch (item.getItemId()) {
  40.   case R.id.mapup:
  41.    SharedMapInstance.map.panDirection(0, -32);
  42.    return true;
  43.   case R.id.mapdown:
  44.    SharedMapInstance.map.panDirection(0, 32);
  45.    return true;
  46.   case R.id.mapleft:
  47.    SharedMapInstance.map.panDirection(-32, 0);
  48.    return true;
  49.   case R.id.mapright:
  50.    SharedMapInstance.map.panDirection(32, 0);
  51.    return true;
  52.  
  53.   default:
  54.    return super.onOptionsItemSelected(item);
  55.   }
  56.  
  57.  }
  58.  
  59. }