1.ArcGISTiledMapServiceLayer:网络切片图层
/**
* 添加切片图层
*/
private void addTileServiceLayer() {
String netLayerUrl = "http://services.arcgisonline.com/arcgis/rest/services/World_Street_Map/MapServer";
ArcGISTiledMapServiceLayer arcGISTiledMapServiceLayer = new ArcGISTiledMapServiceLayer(netLayerUrl);
mMapView.addLayer(arcGISTiledMapServiceLayer);
arcGISTiledMapServiceLayer.setOnStatusChangedListener(new OnStatusChangedListener() {
@Override
public void onStatusChanged(Object o, STATUS status) {
if (status == STATUS.INITIALIZED) {
Log.e("xyh", "加载成功");
} else if (status == STATUS.INITIALIZATION_FAILED || status == STATUS.LAYER_LOADING_FAILED) {
Log.i("xyh", "加载失败");
}
}
});
}
2.ArcGISDynamicMapServiceLayer:动态服务图层,里面包含子图层
public ArcGISDynamicMapServiceLayer (String url):全部可见
public ArcGISDynamicMapServiceLayer (String url,int [] visiblelayers):
int [] visiblelayers:可见图层的id,全部可见,为null
/**
* 动态服务图层,里面包含子图层
* public ArcGISDynamicMapServiceLayer (String url)
* <p>
* public ArcGISDynamicMapServiceLayer (String url,int [] visiblelayers)
* int [] visiblelayers:可见图层的id,全部可见,为null
*/
private void addDynamicServiceLayer() {
String netDynamicLayerUrl = "http://sampleserver1.arcgisonline.com/ArcGIS/rest/services/Specialty/ESRI_StateCityHighway_USA/MapServer";
ArcGISDynamicMapServiceLayer dynamicMapServiceLayer = new ArcGISDynamicMapServiceLayer(netDynamicLayerUrl);
// ArcGISDynamicMapServiceLayer dynamicMapServiceLayer = new ArcGISDynamicMapServiceLayer(netDynamicLayerUrl, new int[]{0});
mMapView.addLayer(dynamicMapServiceLayer);
dynamicMapServiceLayer.setOnStatusChangedListener(new OnStatusChangedListener() {
@Override
public void onStatusChanged(Object o, STATUS status) {
if (status == STATUS.INITIALIZED) {
Log.e("xyh", "加载成功");
} else if (status == STATUS.INITIALIZATION_FAILED || status == STATUS.LAYER_LOADING_FAILED) {
Log.i("xyh", "加载失败");
}
}
});
}
3.ArcGISFeatureLayer:加载子图层
/**
* 加载服务的子图层
*/
private void addChildLayer() {
ArcGISFeatureLayer arcGISFeatureLayer = new ArcGISFeatureLayer(netDynamicLayerUrl + "/0",
ArcGISFeatureLayer.MODE.ONDEMAND);
mMapView.addLayer(arcGISFeatureLayer);
// arcGISFeatureLayer.setRenderer(new SimpleRenderer(
// new SimpleLineSymbol(Color.argb(250, 52, 17, 255), 2)));
arcGISFeatureLayer.setOnStatusChangedListener(new OnStatusChangedListener() {
@Override
public void onStatusChanged(Object o, STATUS status) {
if (status == STATUS.INITIALIZED) {
Log.e("xyh", "加载成功");
} else if (status == STATUS.INITIALIZATION_FAILED || status == STATUS.LAYER_LOADING_FAILED) {
Log.e("xyh", "加载失败");
}
}
});
}