您的位置:首页 > 移动开发 > Android开发

1.ArcGIS Runtime SDK for Android-第一个地图应用

2018-02-08 14:28 811 查看
1-准备工作

2-在Android Studio中创建一个新项目

3-添加依赖

4-添加MapView

5-在MapView上设置一个地图

6-运行应用程序

7-下载官网的示例代码

参考官网文档:https://developers.arcgis.com/android/latest/guide/develop-your-first-map-app.htm

Android Studio快捷键参见:

https://developer.android.com/studio/intro/keyboard-shortcuts.html?hl=zh-cn

若以上地址访问不了,我已将快捷键整理成文档,欢迎大家下载:

链接:https://pan.baidu.com/s/1eTj3I3w 密码:c53a

1-准备工作

安装Java开发工具包(JDK),JDK可以从Oracle网站下载(详见博客);

安装集成开发环境(IDE)Android Studio(需要梯子);

Android模拟器(推荐使用genymotion模拟器),自带AVD可以参考Android Emulator

2-在Android Studio中创建一个新项目

启动Android Studio,如下图所示的欢迎页,单击 Start a new Android Studio project创建一个新项目。



输入应用程序名称,更改公司域名项目位置(项目位置首次设置之后再建项目就不必再设置了),单击下一步



Phone and Tablet的下拉框中选择API 16: Android 4.1或更高版本,单击下一步



单击选中Empty Activity,单击下一步



如下图,按默认选项即可,单击Finish完成项目的创建。



接下来,需要添加适用于Android依赖关系的ArcGIS Runtime SDK。

3-添加依赖

Android项目视图窗口的Gradle脚本下,双击build.gradle(
Project:<project name>
,这里的那么取决于你创建的项目,我这里是Displaymap)。



在脚本的
allprojects / repositories
块中,添加一个新的maven块,如图所示:

maven {
url 'https://esri.bintray.com/arcgis'
}




3. 在Android项目视图窗口的Gradle脚本下,双击build.gradle(
Module:<module name>




4. 在脚本的dependencies块中,添加一个新行

implementation 'com.esri.arcgisruntime:arcgis-android:100.2.1'




5. 在Android Studio工具栏中,单击“使用Gradle文件同步项目”。或者,当您看到自Gradle脚本窗口顶部的上次项目同步消息后,Gradle文件已发生更改时,请单击Sync Now



6. 在Android项目视图窗口的app> manifests下,双击AndroidManifest.xml

将以下XML元素添加为manifest的子元素,添加互联网访问权限。

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




4-添加MapView

切换到activity_main.xml选项卡,这里Android Studio默认是约束布局,将以下代码替换整个TextView元素(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>




5-在MapView上设置一个地图

添加声明,如下图所示,并导入相应的包(快捷键为Alt+Enter)。

private MapView mMapView;




2. 将下面的代码添加到onCreate方法中。

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




3. 导入相应包后红色异常消失。



4. 重写onPauseonResume方法



MainActivity的完整代码为:

public class MainActivity extends AppCompatActivity {

private MapView mMapView;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

// 通过ID获取MapView视图控件
mMapView = (MapView) findViewById(R.id.mapView);
// 创建一个有带有底图的地图,类型为: topographic
ArcGISMap map = new ArcGISMap(Basemap.Type.TOPOGRAPHIC, 34.056295, -117.195800, 16);
// 将地图在控件中显示
mMapView.setMap(map);
}

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

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

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


6-运行应用程序

开启genymotion,单击工具栏已集成好的genymotion图标。(如何集成配置,参考文章

首先选中要开启的虚拟设备,单击start按钮。



如下图所示,右键单击运行程序(或单击工具栏上的

按钮)



等待一小会儿,结果如图下图所示,到这里所有操作就完成了。



7-下载官网的示例代码

到github上下载,如下图所示



如下图所示,下载最新的版本

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐