第一个基于ArcGIS的Android应用
使用Android Studio创建第一个工程
打开Android Studio,新建工程。在Application name处填写项目名称,company domain是公司地址,将来作为包名,点击Next下一步。
选择Phone and Tablet,API选择16以后版本(Arcgis官网教程这样,可能系统要求),点击Next下一步。
选择Empty Activity下一步。
现在已经成功创建了工程,接下来就是加入ArcGIS Runtime SDK依赖。
添加ArcGIS Runtime SDK依赖
使用gradle脚本添加路径,会自动下载压缩包。打开(Project)下的build.gradle文件,添加代码:
allprojects { repositories { jcenter() maven { url 'https://esri.bintray.com/arcgis' } } }
添加依赖包,代开(Module)下的build.gradle文件,添加代码:
dependencies { compile 'com.esri.arcgisruntime:arcgis-android:100.1.0' compile fileTree(dir: 'libs', include: ['*.jar']) [more dependencies...] }
添加权限。
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.jimmy.displaymap"> <uses-permission android:name="android.permission.INTERNET" /> <uses-feature android:glEsVersion="0x00020000" android:required="true" /> <application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" android:theme="@style/AppTheme"> <activity android:name=".MainActivity"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> </manifest>
为应用添加布局
在AndroidManifest.xml文件上,添加代码:
<com.esri.arcgisruntime.mapping.view.MapView android:id="@+id/mapView" android:layout_width="fill_parent" android:layout_height="fill_parent" > </com.esri.arcgisruntime.mapping.view.MapView>
初始化地图
在MainActivity上添加代码:
package com.example.jimmy.displaymap; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import com.esri.arcgisruntime.mapping.ArcGISMap; import com.esri.arcgisruntime.mapping.view.MapView; import com.esri.arcgisruntime.mapping.Basemap; public class MainActivity extends AppCompatActivity { private MapView mapView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mapView = (MapView)findViewById(R.id.mapView); ArcGISMap map = new ArcGISMap(Basemap.Type.TOPOGRAPHIC,26.893231, 112.571997,18); mapView.setMap(map); } @Override protected void onPause(){ mapView.pause(); super.onPause(); } @Override protected void onResume(){ super.onResume(); mapView.resume(); } }
运行程序
Make Project,等待下载完成包。没有错误之后运行app,显示效果如下:
地图上有水印,底部还有链接。