android 6.0上的arcgis sdk 10.2.8在線方式

本來我是用10.2.6的arcgis sdk開發了一個APP,之前在android 5.0的三星手機上使用也沒什麼問題,後來在android 6.0的小米手機上測試,發現地圖界面加載失敗,用try catch語句捕獲異常(android.view.InflateException: Binary XML file line #6: Binary XMLfile line #6: Error inflating class com.esri.android.map.mapView),懷疑是不是這個SDK不支持android6.0。

研究了一下在線獲取arcgis sdk的方式來開發地圖,經驗證,可以正常在android6.0上使用。網上關於這方面的介紹很多,本人僅僅對這些介紹進行了精簡。

本人使用android studio開發環境,

demo可以從http://download.csdn.net/detail/pp9105/9658097下載。

在線獲取arcgis sdk的方式很簡單,不需要手動下載任何東西,直接用最傻瓜的方式新建一個android studio工程,然後具體修改3個地方,就可以在android 6.0上面跑arcgis地圖了。

1、  修改Project的build.gradle,增加以下代碼

allprojects{
   
repositories{
        jcenter()
        maven{
            url'http://esri.bintray.com/arcgis'
       
}
   
}
}

subprojects{
    afterEvaluate{project->
        if(project.hasProperty("dependencies")){
           
dependencies{
                compile'com.esri.arcgis.android:arcgis-android:10.2.8'
           
}
       
}
    }
}

2、  修改Module的build.gradle,在android的大括號裏面增加以下代碼

packagingOptions{
   
exclude 'META-INF/LGPL2.1'
    exclude 'META-INF/LICENSE'
    exclude 'META-INF/NOTICE'
}

3、  修改AndroidManifest.xml,增加權限

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<uses-feature
   
android:glEsVersion="0x00020000"
    android:required="true" />

 

然後就是在activity和layout中添加地圖的相關代碼了。增加了之後可能一開始會顯示紅色,編譯一下就OK了,應該是自動下載了arcgis的SDK。

1、  activity_main.xml文件添加代碼

<com.esri.android.map.MapView
   
xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/mapview"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    />

2、MainActivity.java中添加代碼

MapView mMapView=(MapView)findViewById(R.id.mapview);
ArcGISTiledMapServiceLayer tileLayer = new ArcGISTiledMapServiceLayer(
       
"http://services.arcgisonline.com/ArcGIS/rest/services/World_Street_Map/MapServer");
mMapView.addLayer(tileLayer);

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章