ArcGIS for Android示例解析之地图基础-----HelloWorld

 

HelloWorld

在学习一门开发技术的时候,我们首先接触的第一个例子大家都熟悉不过了,HelloWorld,下面我们对于ArcGIS for Android的第一个例子也不免俗,在例子中我们可以了解到在Android中怎样显示一副维美的地图。

这个例子很简单,只有几句简单的代码,首先让我来看看布局文件main.xml,在布局文件中除了线性布局标签外就是我们所要了解的ArcGIS API中提供给我们显示地图的组件,MapView组件是用来加载地图服务,一级一些其他图层的容器控件,在布局文件中我们天津MapView标签并且添加相应的属性,代码如下:

<!-- 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>

在代码中没有什么难点,看看API基本都能理解,在上面中代码中介绍initExtent属性,如果有过ArcGIS开发经验的开发人员一眼就能开出这是设置地图的初始化显示范围。

最后让我们来看看HelloWorld.java中的代码:   

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实例

           // Add dynamic layer to MapView

           map.addLayer(new ArcGISDynamicMapServiceLayer("" +

                       "http://services.arcgisonline.com/ArcGIS/rest/services/World_Street_Map/MapServer"));//添加地图服务到map中

          

           //Retrieve the non-configuration instance data that was previously returned.

           Object init = getLastNonConfigurationInstance();

           if (init != null) {

                 map.restoreState((String) init);

           }    

上面的代码也很简单,目的很明确,一个是从布局文件中获取map实例,并且添加一个动态图层,map.addLayer()方法为添加地图服务的方法,到处我们运行实例就可以在我们的机器上显示我们的第一个ArcGIS for Android程序了,是不是很简单。不过有一个非常悲催的问题是ArcGIS for Android正式版的API的例子必须在真机上才可用运行,虚拟机是不可以的正常运行了,所以为了能够正常运行你的代码还是请各位买个真机来测量官方提供的代码。呵呵,这也是一个契机,让你可以拥有一台Android系统的手机理由,工作需要吗,相信你的“领导”会同意你购买的。

你可能感兴趣的:(虚拟机,android,api,object,String,layout)