Android | ArcGIS入门

这篇具有很好参考价值的文章主要介绍了Android | ArcGIS入门。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、概述

        ArcGIS是由Esri开发的地理信息系统(GIS)软件。它用于制图、空间分析和数据可视化。ArcGIS允许用户以各种格式创建、管理、分析和共享地理信息。它通常用于城市规划、环境管理和应急响应等领域。该软件包括一系列工具,用于创建地图、进行空间分析以及生成报告和可视化。ArcGIS提供了丰富的功能和功能,使用户能够更好地理解和利用地理空间数据。

二、案例

注:本案例工具使用Android Studio Hedgehog | 2023.1.1 Patch 2 版本,ArcGIS采用arcgis-android:100.13.0版本

1、配置文件

(1)settings.gradle文件

        添加如下代码:

    maven {
            url = uri("https://maven.aliyun.com/repository/google")
            url = uri("https://maven.aliyun.com/repository/jcenter")
            url = uri("https://maven.aliyun.com/repository/mavenCentral")
            url = uri("https://maven.aliyun.com/repository/gradle-plugin")
            url = uri("https://maven.aliyun.com/nexus/content/repositories/releases/")
            url = uri("https://jitpack.io")
            url = uri("https://esri.jfrog.io/artifactory/arcgis")
        }

Android | ArcGIS入门,Android,android,arcgis

(2)build.gradle文件

        在android块中添加如下代码:

    // 设置与Java 8语言特性的兼容性
    compileOptions {
        sourceCompatibility = JavaVersion.VERSION_1_8
        targetCompatibility = JavaVersion.VERSION_1_8
    }
    // 启用视图绑定(view binding)功能
    buildFeatures {
        viewBinding = true
    }
    // 排除META-INF\DEPENDENCIES文件的重复项,防止在输出中多次包含相同的文件而导致编译错误
    packaging{
        exclude("META-INF/DEPENDENCIES")
        exclude("META-INF/LGPL2.1")
        exclude("META-INF/LICENSE")
        exclude("META-INF/NOTICE")
    }

Android | ArcGIS入门,Android,android,arcgis

        在dependencies块中引入arcgis-android:100.13.0:

implementation("com.esri.arcgisruntime:arcgis-android:100.13.0")

Android | ArcGIS入门,Android,android,arcgis

(3)AndroidManifest.xml文件

        在文件中添加如下权限:

    <!-- 访问网络权限 -->
    <uses-permission android:name="android.permission.INTERNET" />
    <!-- 访问网络状态权限 -->
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <!-- 添加粗略定位权限 -->
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
    <!-- 添加精确定位权限 -->
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    <!-- 读写外部存储权限 -->
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
    <!-- 允许程序在手机屏幕关闭后后台进程仍然运行 -->
    <uses-permission android:name="android.permission.WAKE_LOCK" />
    <!-- 添加OpenGL2.0支持 -->
    <uses-feature android:glEsVersion="0x00020000" android:required="true" tools:ignore="WrongManifestParent" />
    <!-- 用户支持 -->
    <supports-screens
        android:smallScreens="true"
        android:normalScreens="true"
        android:largeScreens="true"
        android:xlargeScreens="true"
        android:anyDensity="true" />

Android | ArcGIS入门,Android,android,arcgis

2、布局文件

        在activity_main.xml添加ArcGIS组件,代码如下:

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">

    <com.esri.arcgisruntime.mapping.view.MapView
        android:id="@+id/mapView"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />


</androidx.constraintlayout.widget.ConstraintLayout>

Android | ArcGIS入门,Android,android,arcgis

3、Java代码

        在MainActivity.java文件中编写代码:

        (1)添加组件
private MapView mMapView;

Android | ArcGIS入门,Android,android,arcgis

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

Android | ArcGIS入门,Android,android,arcgis

        (3)生命周期控制
    @Override
    protected void onPause(){
        mMapView.pause();
        super.onPause();
    }

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

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

Android | ArcGIS入门,Android,android,arcgis

       Java代码总览如下:

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;

import com.esri.arcgisruntime.ArcGISRuntimeEnvironment;
import com.esri.arcgisruntime.mapping.ArcGISMap;
import com.esri.arcgisruntime.mapping.Basemap;
import com.esri.arcgisruntime.mapping.view.MapView;

public class MainActivity extends AppCompatActivity {
    private MapView mMapView;


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

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

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

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

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

4、运行结果

        此时若没有报错,运行程序,已经可以展示地图。效果如下:

        (按住鼠标左键可以拖动地图,同时按住Ctrl键和鼠标左键可以缩放地图)

Android | ArcGIS入门,Android,android,arcgis文章来源地址https://www.toymoban.com/news/detail-833320.html

到了这里,关于Android | ArcGIS入门的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包