ArcGiS for Android 10.6的使用

ArcGiS for Android 10.6创建Hello Word

你好! 我最近在做一个基于ArcGIS for Android展示地层信息的本科毕业设计,将其SDK中的一些基本功能在这里笔记一下,便于后面使用,同时希望其他人少走弯路。全部都是从网上学习或者自己摸索的一些东西,如果有错误希望评论出来,我们一起交流学习。
几个我认为有用的网站:ArcGIS官网Android开发指南

创建一个Hello Word

下面的内容摘抄自ArcGIS官方入门文档

  1. 运行Android Studio并创建一个新的Android Studio项目。将应用程序名称设置为Starter Project。
  2. 运行Android Studio并创建一个新的Android Studio项目。将应用程序名称设置为Starter Project。在项目视图中的Gradle脚本> build.gradle(Project:…)下,将项目Gradle存储库更新为Esri的Bintray Maven存储库URL。
allprojects {
  ...
  repositories {
    ...
    // *** ADD ***
    maven {
      url 'https://esri.bintray.com/arcgis'
    }
  1. 在“ 项目”视图中的Gradle脚本> build.gradle(模块:app)下更新应用程序模块 Gradle依赖项,以包括适用于Android的ArcGIS Runtime SDK依赖项。
dependencies {
  ...
  // *** ADD ***
  implementation 'com.esri.arcgisruntime:arcgis-android:100.7.0'

在该android块中添加Java 8编译选项:

android {
  ...
  // *** ADD ***
  compileOptions {
    sourceCompatibility JavaVersion.VERSION_1_8
    targetCompatibility JavaVersion.VERSION_1_8
  }

  1. 更新Gradle脚本后,将要求您同步更改。单击立即同步提示,或单击工具栏中的刷新图标(将项目与Gradle文件同步)。
  2. 更新android清单文件以允许网络访问,并指示该应用程序使用OpenGL 2.0或更高版本。Android清单文件位于项目层次结构中的app> manifests> AndroidManifest.xml下。确保将这些新元素插入到元素中。
<uses-permission android:name="android.permission.INTERNET" />
<uses-feature android:glEsVersion="0x00020000" android:required="true" />
  1. 将地图控件添加到您的应用
    打开文件app> res> layout> activity_main.xml,然后将整个TextView元素替换为一个MapView元
    素。 如果未出现XML代码,请选择“ 文本”选项卡以退出设计模式,以在编辑器中显示XML代码。
<com.esri.arcgisruntime.mapping.view.MapView
	  android:id="@+id/mapView"
	  android:layout_width="match_parent"
	  android:layout_height="match_parent" >
	</com.esri.arcgisruntime.mapping.view.MapView>

打开文件应用> Java> {your.package.name}> MainActivity.java并创建一个MapView私有成员变量。

public class MainActivity extends AppCompatActivity {

    // *** ADD ***
    private MapView mMapView;

AndroidStudio将以红色突出显示MapView该类,该类必须导入到该类中。将指针放在以红色突出显示的文本上,然后在Windows上按Alt +Enter(在Mac上为Option + Enter)以解析该符号。
setupMap在MainActivity类定义中添加一个新方法。在Windows上使用Alt + Enter(在Mac 上是Option+ Enter)可解决缺少的符号Basemap和ArcGISMap。

  private void setupMap() {
      if (mMapView != null) {
          Basemap.Type basemapType = Basemap.Type.STREETS_VECTOR;
          double latitude = 34.0270;
          double longitude = -118.8050;
          int levelOfDetail = 13;
          ArcGISMap map = new ArcGISMap(basemapType, latitude, longitude, levelOfDetail);
          mMapView.setMap(map);
      }
    }

onCreate在调用之后,将以下代码添加到现有方法中setContentView。

@Override
 protected void onCreate(Bundle savedInstanceState) {
     super.onCreate(savedInstanceState);
     setContentView(R.layout.activity_main);
     // *** ADD ***
     mMapView = findViewById(R.id.mapView);
     setupMap();

覆盖onPause,onResume以及onDestroy该方法的MainActivity类:

@Override
protected void onPause() {
    if (mMapView != null) {
        mMapView.pause();
    }
    super.onPause();
}

@Override
protected void onResume() {
    super.onResume();
    if (mMapView != null) {
        mMapView.resume();
    }
}

@Override
protected void onDestroy() {
    if (mMapView != null) {
        mMapView.dispose();
    }
    super.onDestroy();
}

运行您的应用并在Android模拟器中测试代码以查看地图。

关于添加SDK
  1. 可以按照上面的第二、三步通过url添加,但是ArcGIS可能会有网络的问题
  2. 还可以在ArcGIS的开发者网站上下载SDK,将包复制到lib目录下,后在“ 项目”视图中的Gradle脚本> build.gradle(模块:app)下更新应用程序模块 Gradle依赖项。
dependencies {
  ...
  // *** ADD ***
  implementation fileTree(dir: 'libs/aar', include: ['*.aar']) //注意dir参数为aar包的位置

如果复制了文件并添加了上面的代码还是爆红,多半是路径填错了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值