一、概述
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") }
(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") }
在dependencies块中引入arcgis-android:100.13.0:
implementation("com.esri.arcgisruntime:arcgis-android:100.13.0")
(3)AndroidManifest.xml文件
在文件中添加如下权限:
2、布局文件
在activity_main.xml添加ArcGIS组件,代码如下:
3、Java代码
在MainActivity.java文件中编写代码:
(1)添加组件
private MapView mMapView;
(2)注册组件
mMapView = findViewById(R.id.mapView); ArcGISMap map = new ArcGISMap(Basemap.Type.TOPOGRAPHIC, 34.056295, -117.195800, 16); mMapView.setMap(map);
(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(); }
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键和鼠标左键可以缩放地图)
文章版权声明:除非注明,否则均为VPS857原创文章,转载或复制请以超链接形式并注明出处。
还没有评论,来说两句吧...