ArcGIS Runtime SDK for Android教程——(一)介绍以及环境搭建

来源:互联网 发布:数学建模软件 编辑:程序博客网 时间:2024/05/01 13:34

ArcGIS Android SDK非常强大,使用它可以让我们做出具有制图、地理编码、导航、地理处理等能力的apps,并且可以结合ArcGISOnline或者自己的ArcGIS server的空间分析能力。学习SDK最好的方法就是去读官方的文档以及尝试去使用官方的例子。

 

使用ArcGIS RuntimeSDK for Android,你可以制作这样的apps

①为你的apps添加高质量的地图以及GIS能力

②使用portal API从你的组织中(ArcGIS OnlinePortal for ArcGIS)添加和查询内容

③从ArcGIS Server中添加图层

④离线使用地图和数据

⑤添加本地存储的切片缓存或感兴趣区地图

⑥在所有支持的空间参考下展示地图

⑦使用丰富的继承自ArcGIS能力的任务分析你的地图并向你的用户提供结果信息

⑧提供让使用者离线外出作业时编辑数据的工具,包括允许他们重新在线时同步离线编辑的数据

⑨与你设备上的GPS一同工作

构建离线和在线的导航应用

在地图上查询要素并展示弹出框(可定制)

在地图上添加graphics,允许使用者绘制图形并在点击图形时显示弹出框

在本地执行高级图形和空间分析操作

执行高级的地理处理任务并展示结果

使用空间查询或者属性查询查找,发现要素

离线使用地理编码和反地理编码

 

可用的资源

①通过.jar文件提供的具有丰富功能的Android API

②一个AAR(AndroidArchive)文件用来作为Gradle build脚本中的依赖

API参考文档

④一套示例代码

⑤一个可以与别的开发者讨论的论坛

⑥介绍新进展和相关新闻的博客

 

安装与配置

使用ArcGIS RuntimeSDK for Android有以下两种方式:

Gradle②下载SDK

 

Gradle

它将安装所需的依赖以及SDK二进制文件

1.使用以下代码添加maven仓库的URLArcGIS Runtime SDK for Android依赖

repositories{

jcenter()

// Addthe following ArcGIS repository

maven {

url 'https://esri.bintray.com/arcgis'

}

}

2.app模块的buid.gradle文件中的dependencies区块中,添加一个指令去将ArcGIS Runtime SDK for Android包含入你的app

Appmodule build.gradle file

 

dependencies{

// AddArcGIS Runtime SDK for Android dependency

compile'com.esri.arcgis.android:arcgis-android:10.2.8'

}

3.仍然在app模块的build.gradle文件中的android区块,使用以下代码添加packaging options指令。排除了构建app生成的APK中的重复文件,避免出现构建错误。

Appmodule build.gradle file, within android block

 

packagingOptions{

exclude'META-INF/LGPL2.1'

exclude'META-INF/LICENSE'

exclude'META-INF/NOTICE'

}

4.根据你的app中使用到哪些ArcGIS功能,你需要在配置文件中添加许可。

 

下载SDK

下载的SDK包含了所有通过Gradle安装的加上分析功能的native库,本地化资源以及高级符号化文件。通过登录ArcGIS for Developers进行下载。

下载的SDK中的内容有:

Doc: arcgis-androidarcgis android app toolkit的接口文档

Legal:许可文档

Libs:库文件

Lib-project: AAR格式的本地安卓库工程

Res:本地化UI弹出框的本地化文件

Resources:高级符号化符号源文件

Samples:本地示例代码(基于Android Gradle框架)

 

ArcGIS Android应用工具包

应用工具包提供协助制图和定位流程的简化类。

可以通过添加ArcGISRuntime SDK for Android AAR包来使用应用工具包

 

MapViewHelper

MapViewHelper类可以帮助我们简化显示标注,添加几何图形以及创建弹出窗口的编程流程。通过向构造函数传递一个MapView参数创建MapViewHelper

MapViewHelpermvHelper = new MapViewHelper(mMapView);

 

显示标注

mvHelper.setShowGraphicCallout(false);//不显示标注

mvHelper.setOnGraphicClickListener(newOnGraphicClickListener(){

publicvoid onGraphicClick(graphic){

// dosomething

}

});//通过注册监听事件的方式

弹出窗口

mvHelper.createPopup(screenX,screenY, new PopupCreateListener(){

publicvoid onResult(popupContainer){

// dosomething

}

});  //点击时自动查询所有图层并为选中要素创建和返回弹出窗口

 

查找地址

GeocodeHelpergeocodeHelper = new GeocodeHelper();

// findan address for a given location

Future<LocatorReverseGeocodeResult>= geocodeHelper.findAddress(screenX, screenY, locator, mMapView, callback)

0 0
原创粉丝点击