ArcGis for Android 10.2.8个人整理

ArcGis

版本:arcgis-android-10.2.7

配置:

A。用Android Studio创建一个Android项目,然后找到我们需要引用的本地arr文件;

arcgis-android-1.2.7.aar

B。将本地arr文件Copy到我们项目的libs文件夹下(和jar一个目录);

在项目的build.gradle中:
dependencies {
compile (name: 'arcgis-android-10.2.7', ext: 'aar')
}
build.gradle的安卓中加入
repositories{    flatDir            {                dirs 'libs'            }}
packagingOptions{
exclude 'META-INF/LGPL2.1'
exclude('META-INF/LICENSE')
exclude('META-INF/NOTICE')
}
C。以上步骤完成后点击as的构建项目 就OK了;

完成之后首先来看看ArcGis文档

1.MapView 类是 ArcGIS API For Android 里最主要的地图组件,它用来显示一组地图服务。MapView 类默认可以使用触摸进行地图导航,默认的地图导航有,放大,缩小,平移。

2.MapView 类直接继承于 Android  的 ViewGroup,因此,MapView 类集成了 Android  ViewGroup  的所有方法和属性,应用起来非常简单,就像使用 Android 其他视图组件一样。

3.MapView 至少要有一个 LayerView。 MapView 是所有 LayerView 的父类。 LayerView 类是所有加载到 MapView 上的图层类的基类。在 MVC 架构中,这个类代表着 View,它用来处理这个架构功能相关的图片渲染。可以使用抽象类的任何一个子类。

第一步:

<com.esri.android.map.MapView
android:id="@+id/mapview"
android:layout_width="match_parent"
android:layout_height="match_parent">
</com.esri.android.map.MapView>

mMapView= (MapView) findViewById(R.id.mapview);
gradle中加上:compile 'com.google.android.gms:play-services-appindexing:8.1.0'
@Override
protected void onDestroy() {
    super.onDestroy();
    mMapView.destroyDrawingCache();
}
@Override
protected void onResume() {
    super.onResume();
    mMapView.unpause();
}
@Override
protected void onPause() {
    super.onPause();
    mMapView.pause();
}

第二步:

private GoogleMapLayer YXLayer;// 影像图层
private GoogleMapLayer XZQHLayer;// 行政区划图层
【这两个类后面会贴出来】

可以查看我的博客【ArcGis、高德计算选中地块的面积】文章

try {
    YXLayer = new GoogleMapLayer(GoogleMapLayerTypes.IMAGE_GOOGLE_MAP, "");
    XZQHLayer = new GoogleMapLayer(
            GoogleMapLayerTypes.ANNOTATION_GOOGLE_MAP, "");
    mMapView.addLayer(YXLayer);
    mMapView.addLayer(XZQHLayer);
} catch (Exception e) {
}
第三步:经过这些之后,就能够使用地图了,记得添加权限,;

后面我们调用MeasuringTool这个类;

SimpleFillSymbol fillSymbol;
 Unit[] linearUnits = new Unit[] {
         Unit.create(LinearUnit.Code.METER)
 };
 //点
 SimpleMarkerSymbol markerSymbol = new SimpleMarkerSymbol(Color.BLUE, 10, SimpleMarkerSymbol.STYLE.DIAMOND);
 //线
 SimpleLineSymbol lineSymbol = new SimpleLineSymbol(Color.YELLOW, 3);
 fillSymbol = new SimpleFillSymbol(Color.argb(100, 0, 225, 255));
 fillSymbol.setOutline(new SimpleLineSymbol(Color.TRANSPARENT, 0));
 // 创建所需的工具。
// MyMeas measuringTool = new MyMeas(mMapView);
 MeasuringTool tool=new MeasuringTool(mMapView);
 // 自定义工具 可选
 tool.setLinearUnits(linearUnits);//模式
 tool.setMarkerSymbol(markerSymbol);//点
 tool.setLineSymbol(lineSymbol);//线
 tool.setFillSymbol(fillSymbol);
 startActionMode(tool);
【我是从之前项目中截取的代码,可能有冗余 见谅】

这样我们运行之后 首先选择屏幕右上方的向下的按钮,选中第一项的Area;第二项可以不用选择;这样 我们在地图上选择封闭的点 就能算出选中地区的平方米了;

=========================================

后面让我们来看看MeasuringTool:

MeasuringTool的draw()方法;[该方法在每次点击地图时就会调用去绘制]
当我们点击地图绘制左边点时,会调用this.mResult = GeometryEngine.geodesicArea(this.mPolygon, this.mMap.getSpatialReference(), (AreaUnit)this.getAreaUnit(this.mCurrentAreaUnit));
方法 去计算圈中几何的面积;


最后给大家分享一个在线地图测量距离和面积的网址:点击打开


下面这个地址是Git 上ArcGis各种例子的地址:Git上的例子

这个例子中Measure就用到了咱们上面的;

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
ArcGIS for Android是一个用于在Android平台上进行地理信息系统(GIS)开发的工具。它提供了一套API和库,使开发者能够在Android设备上创建和展示地图、进行地理数据分析和可视化等操作。根据引用\[1\],Esri在最近几年对ArcGIS for Android进行了大量的改进和提升,为GIS开发者和工作者提供了更多便利。最新版本的ArcGIS Runtime API for Android是100.12.0,其中最大的改进是增加了一个Geotrigger API,可以实时监控GIS数据并在满足指定条件时接收通知,例如设备进入或离开区域时。这个功能相当于自带了一个实时监控当前位置并进行地理位置判断的地理围栏Geofencing。 根据引用\[2\]和\[3\],在Android Studio中开发ArcGIS项目有两种方式。一种是在线引用ArcGIS库,另一种是将ArcGIS Runtime SDK for Android下载到本地并进行引用。对于在线引用,可以在项目的build.gradle文件中添加依赖项implementation 'com.esri.arcgisruntime:arcgis-android:100.10.0'来引用ArcGIS库。 总之,ArcGIS for Android是一个功能强大的GIS开发工具,可以帮助开发者在Android平台上构建各种地理信息应用程序。 #### 引用[.reference_title] - *1* *3* [arcgis for android(一)配置Android Sutdio环境](https://blog.csdn.net/HB_Programmer/article/details/119967868)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [ArcGIS for AndroidAndroid Studio开发ArcGIS项目)](https://blog.csdn.net/qq_40820382/article/details/103962702)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值