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);
}
}
}