# arcgisForAndroid **Repository Path**: yihan.post/arcgis-for-android ## Basic Information - **Project Name**: arcgisForAndroid - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-04-21 - **Last Updated**: 2025-04-22 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # arcgisForAndroid #### 介绍 {**适用于通过arcgis加载天地图,高德地图,自己航拍的高精地图,水经注下载的瓦片地图** 在这个高德百度腾讯地图商用最低5W每年,普通小应用盈利都难的情况下,免费地图可以尝试一波arcgisruntime。} #### 集成方式 1. //arcgis加载地图的控件 100.5.0支持最低api 19 100.15.0最低支持23 implementation 'com.esri.arcgisruntime:arcgis-android:100.15.0' //arcgis工具类 是否需要自行根据需求选择 implementation 'com.esri.arcgisruntime:arcgis-android-toolkit:100.15.0' 2.在gradle.properties里面添加android.enableJetifier=true 3.在setting.gradle里面,添加 maven { url 'https://esri.jfrog.io/artifactory/arcgis'} dependencyResolutionManagement { repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) repositories { google() mavenCentral() maven { url 'https://esri.jfrog.io/artifactory/arcgis'} } } #### 不同图层加载方式 1. 高德(项目里面的AMapTiledLayerClass),天地图 ,自己从水经注下载的图层 用webTieldLayer val wmtsLayer = WebTiledLayer(MapConstants.MAP_WEB_TILED) 2. 发布到geoserver上面的图层服务,WmtsLayer val wmtsLayer = WmtsLayer(MapConstants.MAP_URL, MapConstants.LAYER_ID) #### 使用说明 1. 在地图上添加文字 val center = Point(lon - 0.0003, lat + 0.0003, SpatialReferences.getWgs84()) val textSymbol = TextSymbol( 20f, "绘制文字", Color.RED, TextSymbol.HorizontalAlignment.CENTER, TextSymbol.VerticalAlignment.MIDDLE ) textGraphic = Graphic(center, textSymbol) mGraphicsOverlay!!.graphics.add(textGraphic) 2. 添加Marker val center = Point(lon + 0.002, lat - 0.002, SpatialReferences.getWgs84()) //添加marker if (pmsMarker == null) { pmsMarker = PictureMarkerSymbol(getMarkerDrawable()) pmsMarker!!.loadAsync() pmsMarker!!.addDoneLoadingListener { //设置marker大小 pmsMarker!!.width = 20f pmsMarker!!.height = 20f } } if (markerIcon == null) { //初始化selfIcon markerIcon = Graphic(center, pmsMarker) mGraphicsOverlay!!.graphics.add(markerIcon) } else { //selfIcon 已存在,直接更新位置 markerIcon!!.geometry = center } 3. 添加区域(正方形需要五个点,最后一个和第一个相同) mPointCollection.add(Point(lon - 0.01, lat - 0.01)) mPointCollection.add(Point(lon - 0.01, lat + 0.01)) mPointCollection.add(Point(lon + 0.01, lat + 0.01)) mPointCollection.add(Point(lon + 0.01, lat - 0.01)) mPointCollection.add(Point(lon - 0.01, lat - 0.01)) val polygon = Polygon(mPointCollection) val lineSymbol = SimpleLineSymbol(SimpleLineSymbol.Style.SOLID, Color.GREEN, 3.0f) val simpleFillSymbol = SimpleFillSymbol( SimpleFillSymbol.Style.SOLID, Color.parseColor("#33e97676"), lineSymbol ) graphicArea = Graphic(polygon, simpleFillSymbol) mGraphicsOverlay!!.graphics.add(graphicArea) 4. 添加点 5.添加线 等自行参考代码