移动GIS开发之加载Esri地图


欢迎关注我的微信公众号“人小路远”哦,在这里我将会记录自己日常学习的点滴收获与大家分享,以后也可能会定期记录一下自己在外读博的所见所闻,希望大家喜欢,感谢支持! 


选择AndroidStudio进行简单的移动GIS开发,添加一个Esri的公共地图。

目录

1、新建项目

2、选择Android系统版本

3、添加空白例子

4、输入Activity Name

5、配置Esri的在线SDK

6、添加网络权限

7、将MapView添加到布局中

8、在MapView里设置地图

9、点击运行开始


1、新建项目

输入项目名称和公司名称。

2、选择Android系统版本

选择较低版本的可以获得更高的兼容性。

3、添加空白例子

4、输入Activity Name

5、配置Esri的在线SDK

Gradle Scripts中在项目级的build.gradle文件里,在repositories块中,将Esri的maven存储库URL添加到项目中。 Esri的存储库不是开源的,因此在脚本的默认存储库中不可用,因此您必须指定此URL。

allprojects {
  repositories {
    google()
    jcenter()
    
    // Add the Esri public Bintray Maven repository
    maven {
        url 'https://esri.bintray.com/arcgis'
    }
  }
}

在模块级build.gradle文件的依赖项块中,将ArcGIS Runtime SDK for Android依赖项添加到您的应用程序。

dependencies { 
  implementation 'com.esri.arcgisruntime:arcgis-android:100.3.0' 

}

在Android Studio工具栏中,单击“使用Gradle文件同步项目”。或者,在Gradle脚本窗口顶部看到Gradle文件已更改时,点击Sync Now立即同步。

6、添加网络权限

在app > manifests>AndroidManifest.xml中的manifest里添加如下代码,获取网络权限。

<uses-permission android:name="android.permission.INTERNET" /> 
<uses-feature android:glEsVersion="0x00020000" android:required="true" />

7、将MapView添加到布局中

单击app>res> layout,然后双击activity_esri_map.xml。在窗口的左下角,单击“文本”以显示布局的XML视图。默认情况下,布局XML文件中有两个标记。
     第一个是Android ConstraintLayout。这是一个可以显示其他视图的视图。
     第二个是TextView,它是约束布局的子项,显示文本“Hello world!”。

选择整个TextView XML元素并将其替换为MapView元素,如下所示:

<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>

8、在MapView里设置地图

将MapView变量声明添加到EsriMap类的顶部,划红线报错后将指针放在文本突出显示为红色的行上,然后按Alt + Enter自动添加导入。

import com.esri.arcgisruntime.mapping.view.MapView;

在setContentView后面将以下代码添加到onCreate方法里,并按照以上方法依次添加引用:

mMapView = findViewById(R.id.mapView);
ArcGISMap map = new ArcGISMap(Basemap.Type.TOPOGRAPHIC, 34.056295, -117.195800, 16); 
mMapView.setMap(map);

地图的type可以在Esri的开发者网站里查询可用底图类型,后面参数为经纬度和地图缩放级别。

以下方法可以根据需要选择性添加:

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

@Override 
protected void onResume(){
  super.onResume();
  mMapView.resume();
}

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

9、点击运行开始

 

发布了38 篇原创文章 · 获赞 16 · 访问量 1万+
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 大白 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览