创建RasterMap实例之后,可以对其进行放大,缩小,平移,设置地图类型等操作。
在第一个地图应用中,在调用RasterMap.setCenter 时可以指定地图类型,另外也可以使用RasterMap.setMapType来更改地图类型,地图开发包中定义了Google 地图,Google 中国地图,Bing 地图,Bing 卫星图等20多种地图类型,也就可设置自已定义地图类型。
在项目GISEngineTutorial创建MapType Activity,并添加maptype_menu 资源。本教程不是Android教程,假定读者知道开发Android应用的基本方法。
下面的例子顺序显示Google 中国地图,MapAbc地图,Bing 中国地图。
package com.pstreets.gisengine.demo;
import com.mapdigit.gis.geometry.GeoLatLng;
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 MapType 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,
com.mapdigit.gis.raster.MapType.MICROSOFTCHINA);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.maptype_menu, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle item selection
switch (item.getItemId()) {
case R.id.googlemaptype:
SharedMapInstance.map.setMapType(com.mapdigit.gis.raster.MapType.GOOGLECHINA);
return true;
case R.id.bingmaptype:
SharedMapInstance.map.setMapType(com.mapdigit.gis.raster.MapType.MICROSOFTCHINA);
return true;
case R.id.mapabcmaptype:
SharedMapInstance.map.setMapType(com.mapdigit.gis.raster.MapType.MAPABCCHINA);
return true;
default:
return super.onOptionsItemSelected(item);
}
}
}