简单Arcgis for Andorid 应用开发

使用工具

Android Studio 2.3
Arcgis for Androdid SDK 100.4.0

环境配置

由于众所周知的网络原因通过Gradle 在线添加 路径自动配置Runtime
打开build.gradle (Project: )文件,在allprojects/repositories下添加路径字段url ‘https://esri.bintray.com/arcgis’,指向esri公共数据库
打开 build.gradle (Module: ).文件,在 dependencies 语句块下添加’compile 'com.esri.arcgisruntime:arcgis-android:100.4.0’动态添加runtime
会出现“faild to reslove”错误,因此需要下载离线SDK然后进行本地配置

  • 下载 离线SDK,需要科学上网

  • 配置Maven,在 Android studio 安装文件的gradle 文件目录下的repository目录下依次新建com-esri-arcgisruntime-arcgisandroid-100.3.0文件,将 下载好的离线SDK文件中的libs-aar文件夹下的.aar和.pos文件复制到新建文件夹内(如果某些低版本SDK未显示.pos文件需要到官网手动下载)

  • 在build.gradle(Module)dependencies语句块中添加
    compile 'com.esri.arcgisruntime:arcgis-android:100.3.0’语句

  • 在build.gradle(progect)allProgectes语句块中添加mavenLocal()语句

  • 单击Sync now 对gradle文件进行重构
    完成配置
    在这里插入图片描述
    如图代表配置gradle成功

显示底图

  • 在activity_main.xml文件中删除默认的<“TextView>结构,在其位置上替换为<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>"
    设置其大小并在库中添加相应ID
    在这里插入图片描述
    效果如图,此时仅显示空的地图容器
  • 打开应用manifest文件,为应用修改权限,提供使用访问网络权限

    <"uses-permission android:name=“android.permission.INTERNET” />

<"uses-feature android:glEsVersion=“0x00020000” android:required=“true” />”

  • 向地图容器中添加要显示的地图
    在MainActivity.java文件中添加变量
private MapView mMapView;

创建地图视图,设置地图经纬度和显示级别(位置为太原师范学院位置)

mMapView =(MapView) findViewById(R.id.mapView);
ArcGISMap map = new ArcGISMap(Basemap.Type.TOPOGRAPHIC, 34.745723,112.711803,16); 
mMapView.setMap(map);

重载流程控制语句

protected void onPause() {
        mMapView.pause();
        super.onPause();
    }

    @Override
    protected void onResume() {

        super.onResume();
        mMapView.resume();
    }

    @Override
    protected void onDestroy() {
        super.onDestroy();
        mMapView.dispose();
    }

显示效果如下

在这里插入图片描述
上述为相同显示级别下经纬度分别为34.745723,112.711803和34.056295, -117.195800的效果视图。由于地图取材于ArcOnline的数据库,该数据库中没有中国区域相应级别的地图,造成了相应的效果差异。

猜你喜欢

转载自blog.csdn.net/qq_36865682/article/details/84897698