Friday 22 July 2011

ArcGIS for Android

As per previous post, I was playing around with Google Map and overlays. I found this link to put geometries on top of Google map in an AsyncTask: http://www.curious-creature.org/2009/03/01/android-layout-tricks-3-optimize-part-1/, but it seems much more difficult to add WMS on top of Google maps using an AsyncTask....

Alright, so I found out that ESRI is developing an API for Android: http://resources.arcgis.com/content/arcgis-android/api. The samples look nice and I decided to give it a go, especially since my work place uses ESRI products. The presentation DS2011: Introduction to ArcGIS API for Android gives nice and detailed information on how to install the eclipse plugin and get started using the API. After a days work, I feel pretty sure that I will base my application on the ESRI API.

Here is how far I have gotten:

First of all I published a new WMS on our ArcGis Server: http://geuswebgis01.geus.dk:8399/arcgis/rest/services/Danmarksgeologi/j200/MapServer. The WMS renders the geological map of Denmark at scale 1:200.000.

Here is how to add the WMS in the layout file (lines 7-13):
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">
    
 <com.esri.android.map.MapView
	xmlns:android="http://schemas.android.com/apk/res/android"
	android:id="@+id/map"
	android:layout_width="fill_parent"
	android:layout_height="fill_parent">
		<com.esri.android.map.ags.ArcGISDynamicMapServiceLayer url="http://geuswebgis01.geus.dk:8399/arcgis/rest/services/Danmarksgeologi/j200/MapServer"/>
</com.esri.android.map.MapView>

    <RelativeLayout 
        android:id="@+id/InnerRelativeLayout"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true" >
        
        <Button 
        	android:text="Settings"        	
        	android:id="@+id/settingsbutton"
        	android:layout_height="wrap_content"
        	android:layout_width="wrap_content">
        </Button>
        
        <Button 
        	android:text="Nyheder"
        	android:id="@+id/nyhederbutton"
        	android:layout_toRightOf="@+id/settingsbutton"
        	android:layout_height="wrap_content"        	
        	android:layout_width="wrap_content">
        </Button>
        
    </RelativeLayout>
 
</RelativeLayout>


Panning and zooming works really well. Now it is time to explore the remaining parts of the ESRI Android API...



1 comment:

  1. The world-famous casino - JamBase
    Join Kijiji in this fun and 남양주 출장샵 friendly gaming adventure. Come out and play at 경기도 출장샵 a world-class casino that's fun 고양 출장마사지 and free 평택 출장안마 to play. 안동 출장안마

    ReplyDelete