使用ArcGIS Android API调用谷歌地图需要继承重写TiledServiceLayer类。首先我们要知道谷歌地图提供了4种服务类型:矢量地图服务、遥感影像地图服务、地形地图服务和道路POI地图服务。
package com.acquisition.googlemap;
/**
* @author wuxin
*
*/
public interface GoogleMapLayerTypes {
/**
* 谷歌矢量地图服务
*/
final int VECTOR_GOOGLE_MAP = 1;
/**
* 谷歌影像地图服务
*/
final int IMAGE_GOOGLE_MAP = 2;
/**
* 谷歌地形地图服务
*/
final int TERRAIN_GOOGLE_MAP = 3;
/**
* 谷歌道路等POI地图服务
*/
final int ANNOTATION_GOOGLE_MAP = 4;
}
知道了四种服务后我们需要知道谷歌地图的几个参数:地图层数、分辨率、比例尺、中心位置、空间参考以及地图瓦片的宽高等参数才能正常的使用谷歌地图。
package com.acquisition.googlemap;
import java.util.Map;
import java.util.concurrent.RejectedExecutionException;
import android.util.Log;
import com.esri.android.map.TiledServiceLayer;
import com.esri.core.geometry.Envelope;
import com.esri.core.geometry.Point;
import com.esri.core.geometry.SpatialReference;
/**
* @author wuxin
*
*/
public class GoogleMapLayer extends TiledServiceLayer {
private int GoogleMapLayerType;
public GoogleMapLayer(int layerType) {
super(true);
this.GoogleMa