AddLayer
根据标题我们就可以知道这个例子是要干什么,对,就是添加地图服务,首先我们还是看布局文件main.xml:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > <!-- MapView layout and initial extent --> <com.esri.android.map.MapView android:id="@+id/map" android:layout_width="fill_parent" android:layout_height="fill_parent" initExtent = "-19332033.11, -3516.27, -1720941.80, 11737211.28"> </com.esri.android.map.MapView>
</LinearLayout> |
在上面xml文件中主要的是添加一个MapView标签并且添加了相应的熟悉,初始化了地图显示的范围。
在来看看AddLayer.java文件中的代码
private MapView map = null; //一个动态地图服务的URL字符串 String dynamicMapURL = "http://sampleserver1.arcgisonline.com/ArcGIS/rest/services/Specialty/ESRI_StateCityHighway_USA/MapServer";
@SuppressWarnings("serial") public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main);
// Retrieve the map and initial extent from XML layout map = (MapView)findViewById(R.id.map);//获取map实例 map.addLayer(new ArcGISDynamicMapServiceLayer( "http://services.arcgisonline.com/ArcGIS/rest/services/World_Street_Map/MapServer"));//添加地图服务到map中
//Creates a dynamic layer using service URL ArcGISDynamicMapServiceLayer dynamicLayer = new ArcGISDynamicMapServiceLayer(dynamicMapURL);//地图服务 //Adds layer into the 'MapView' map.addLayer(dynamicLayer); //添加地图服务到map中
Toast.makeText(this, "Long Press to add or remove layer", Toast.LENGTH_SHORT).show();
//给 'MapView'设置一个长按地图事件监听 map.setOnLongPressListener(new OnLongPressListener() {
@Override public void onLongPress(float arg0,float arg1) { //Determines if the map is loaded if (map.isLoaded()) {
// Retrieves the maps layers Layer[] layers = map.getLayers(); // Toggles the dynamic layer's visibility if(layers[1].isVisible()){ layers[1].setVisible(false);//隐藏服务 }else{ layers[1].setVisible(true);//显示服务 } } } }); } |
在上面的代码中我们可以看出,我们在“MapView”中添加了两个地图服务,并且给map实例添加了一个长按事件监听,在事件处理函数中来实现地图服务的切换显示,MapView中还有很多其他的事件以后将一一呈现,通过上面的例子是不是感觉添加服务是件很简单的事情,没错,就是这么简单。