1、做了一年多的Android GIS开发,突然想做个深刻的总结,记录这一年两个月收获的点点滴滴和遇到的难题,给自己一个交代,不留遗憾!
2、esri 这两年在开发接口方面做了很大的改进和提升,给gis开发者和工作者提供了极大的便利,也能把桌面端arcgis的大部分功能进行地理服务处理,返回到其他平台上,真是一个好消息。官网地址https://developers.arcgis.com/android/,去年六月份我接触Android的时候API版本是 100.8.0,在首页我们看到当前版本是 100.12.0,发展真的很快,这个版本最大的改进就是增加了一个Geotrigger API,可让您实时监控 GIS 数据,并在遇到指定条件时接收通知,例如设备进入或离开区域时(工作流也称为地理围栏),相当于自带了一个实时监控当前位置并进行地理位置判断的地理围栏Geofencing。我也想看看这个功能咋样,下载了这个版本的库拿来用用,但是基于这个版本会报错:
目前不知道怎么解决,我就用100.10.0来演示了,等我解决了再来告诉大家。
3、我之前也写过一篇类似的文章,那时候的配置方法和现在不太一样,主要是变简单了,因为Android Studio也更新了,使用更加方便了。毕竟技术是不断进步和发展的,就像熟知的jcenter()库也要被谷歌移除了。闲言少叙,我们还是去官网看看吧,大家想提升自己也建议多看官网。左侧有个Install and set up,讲述了如何安装和使用:
4、有两种方法,第一个是Get the API with Gradle,意思是使用Gradle获取API,不用自己下载了,打开项目外面的build.gradle,找到allprojects ,在里面添加maven { url 'https://esri.jfrog.io/artifactory/arcgis' }
allprojects {
repositories {
maven { url 'https://esri.jfrog.io/artifactory/arcgis' }
}
}
然后打开项目里面的build.gradle,找到dependencies,在里面添加implementation 'com.esri.arcgisruntime:arcgis-android:100.10.0'
dependencies {
implementation 'com.esri.arcgisruntime:arcgis-android:100.10.0'
}
最后检查是否有下面的代码,我的Android Sutdio自带了。
android {
...
compileOptions {
sourceCompatibility 1.8
targetCompatibility 1.8
}
}
配置好点击sync now或者点击右上角的按钮,
点击运行会报错,是最低sdk版本的问题,在下面的位置修改16为23即可。
5、第二种方式是把API下载到本地。需要自己注册一个esri账号,在Dashboard中找到Downloads,根据需要下载。如果下载不了或者不想注册账号,我提前下载好了,版本从100.8.0到100.12.0,放到了资源里面供大家下载:
下载之后在压缩包的libs中找到aar和pom两个文件,放到指定的文件夹下面:
C:\Users\你的用户名\.m2\repository\com\esri\arcgisruntime\arcgis-android\100.10.0\,这些文件夹如果没有就需要自己一个一个建立,把arr和pom放进去即可,如果是其他的版本就把\100.10.0\改成其他的版本名字就行了,或者新建文件夹存放不同版本,然后添加 mavenLocal(),其他不变,跟第一种方法一样。
allprojects {
repositories {
mavenLocal()
}
}
6、到此为止我们讲完了两种配置方法,下一节讲显示二维地图。欢迎订阅该专栏。