RasterMap 有两个方法可以用于平移地图,panTo 将地图移动到指定经纬度坐标,panDirection(dx,dy) 将地图从当前位置平移dx,dy 个象素。
GuidebeeMapView实现了对TouchEvent处理,可以通过Touch事件来平移地图,下列示例是通过菜单来以上,下,左,右平移地图。
- package com.pstreets.gisengine.demo;
- import com.mapdigit.gis.geometry.GeoLatLng;
- import com.pstreets.gisengine.R;
- import com.pstreets.gisengine.SharedMapInstance;
- import com.mapdigit.gis.raster.MapType;
- import android.app.Activity;
- import android.os.Bundle;
- import android.view.Menu;
- import android.view.MenuInflater;
- import android.view.MenuItem;
- public class MapPan extends Activity {
- @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, 13, MapType.MICROSOFTCHINA);
- }
- @Override
- public boolean onCreateOptionsMenu(Menu menu) {
- MenuInflater inflater = getMenuInflater();
- inflater.inflate(R.menu.mappan_menu, menu);
- return true;
- }
- @Override
- public boolean onOptionsItemSelected(MenuItem item) {
- // Handle item selection
- switch (item.getItemId()) {
- case R.id.mapup:
- SharedMapInstance.map.panDirection(0, -32);
- return true;
- case R.id.mapdown:
- SharedMapInstance.map.panDirection(0, 32);
- return true;
- case R.id.mapleft:
- SharedMapInstance.map.panDirection(-32, 0);
- return true;
- case R.id.mapright:
- SharedMapInstance.map.panDirection(32, 0);
- return true;
- default:
- return super.onOptionsItemSelected(item);
- }
- }
- }