Android端加载显示高分辨率卫星地图

*哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈 *
使用天地图卫星地图在arcgis环境下加载高清卫星地图,该部分仅简单提供成功加载显示天地图卫星图层的案例,其他绘制等功能还在摸索。
详细参考:
https://blog.csdn.net/HB_Programmer/article/details/107189045
https://blog.csdn.net/HB_Programmer/article/details/107731664?spm=1001.2014.3001.5501
1、arcgis环境配置
详情参考:https://blog.csdn.net/qq_40820382/article/details/103962702
注意:需要将以下3个文件导入项目中


注意:导入以上包后,下图中不需要再加gson的jar包,否则会报错

除以上需要注意的地方,其他的按照链接里的讲解做就好,我的代码是
AndroidManifest.xml

plugins {id 'com.android.application'
}android {compileSdkVersion 30buildToolsVersion "30.0.3"defaultConfig {applicationId "com.example.arcgistest"minSdkVersion 23targetSdkVersion 30versionCode 1versionName "1.0"testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"}buildTypes {release {minifyEnabled falseproguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'}}compileOptions {sourceCompatibility JavaVersion.VERSION_1_8targetCompatibility JavaVersion.VERSION_1_8}
//    buildFeatures {
//        viewBinding true
//    }
//    ndkVersion '23.0.7344513 rc4'
}dependencies {implementation 'androidx.appcompat:appcompat:1.2.0'implementation 'com.google.android.material:material:1.2.1'implementation 'androidx.constraintlayout:constraintlayout:2.0.4'
//    implementation files('libs\\gson-2.8.6.jar')testImplementation 'junit:junit:4.12'androidTestImplementation 'androidx.test.ext:junit:1.1.2'androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0'implementation 'com.esri.arcgisruntime:arcgis-android:100.11.0'
//    implementation files('libs/gson-2.8.6.jar')
}

layout

<?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.MapViewandroid:id="@+id/mapView"android:layout_width="match_parent"android:layout_height="match_parent" ></com.esri.arcgisruntime.mapping.view.MapView></androidx.constraintlayout.widget.ConstraintLayout>

Main.java

package com.example.arcgistest;import androidx.appcompat.app.AppCompatActivity;import android.os.Bundle;import com.esri.arcgisruntime.ArcGISRuntimeEnvironment;
import com.esri.arcgisruntime.geometry.Point;
import com.esri.arcgisruntime.geometry.SpatialReference;
import com.esri.arcgisruntime.layers.ArcGISTiledLayer;
import com.esri.arcgisruntime.layers.WebTiledLayer;
import com.esri.arcgisruntime.mapping.ArcGISMap;
import com.esri.arcgisruntime.mapping.Basemap;
import com.esri.arcgisruntime.mapping.Viewpoint;
import com.esri.arcgisruntime.mapping.view.MapView;public class MainActivity extends AppCompatActivity {private MapView mMapView;//    MapView mMapView;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);mMapView = findViewById(R.id.mapView);
//        String url = "http://map.geoq.cn/arcgis/rest/services/ChinaOnlineCommunity/MapServer";
//        ArcGISTiledLayer arcGISTiledLayer = new ArcGISTiledLayer(url);
//        Basemap basemap = new Basemap(arcGISTiledLayer);
//        ArcGISMap arcGISMap = new ArcGISMap(basemap);
//        mMapView.setMap(arcGISMap);initTDT();}private void initTDT() {WebTiledLayer imageLayer = TianDiTu.CreateTianDiTuTiledLayer(TianDiTu.LayerType.TIANDITU_VECTOR_2000);/*** 添加地图*/Basemap basemap = new Basemap(imageLayer);WebTiledLayer imageLayer1 = TianDiTu.CreateTianDiTuTiledLayer(TianDiTu.LayerType.TIANDITU_VECTOR_ANNOTATION_CHINESE_2000);/*** 增加地图标注*/basemap.getBaseLayers().add(imageLayer1);ArcGISMap mArcGISMap = new ArcGISMap(basemap);//去除水印ArcGISRuntimeEnvironment.setLicense("runtimelite,1000,rud4449636536,none,NKMFA0PL4S0DRJE15166");//        mMapView.setAttributionTextVisible(true);mArcGISMap.setInitialViewpoint(new Viewpoint(new Point(113.65, 34.763, SpatialReference.create(4490)), 20000000));mMapView.setMap(mArcGISMap);WebTiledLayer webTiledLayer2 = TianDiTu.CreateTianDiTuTiledLayer(TianDiTu.LayerType.TIANDITU_IMAGE_2000);Basemap tdtBasemap2 = new Basemap(webTiledLayer2);WebTiledLayer webTiledLayer22 = TianDiTu.CreateTianDiTuTiledLayer(TianDiTu.LayerType.TIANDITU_IMAGE_ANNOTATION_CHINESE_2000);tdtBasemap2.getBaseLayers().add(webTiledLayer22);ArcGISMap map2 = new ArcGISMap(tdtBasemap2);map2.setInitialViewpoint(new Viewpoint(new Point(113.65, 34.763, SpatialReference.create(4490)), 20000000));mMapView.setMap(map2);}
}

TianDiTu.java

package com.example.arcgistest;import com.esri.arcgisruntime.arcgisservices.LevelOfDetail;
import com.esri.arcgisruntime.arcgisservices.TileInfo;
import com.esri.arcgisruntime.geometry.Envelope;
import com.esri.arcgisruntime.geometry.Point;
import com.esri.arcgisruntime.geometry.SpatialReference;
import com.esri.arcgisruntime.layers.WebTiledLayer;import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;public class TianDiTu {private static final List<String> SubDomain = Arrays.asList("t0", "t1", "t2", "t3", "t4", "t5", "t6", "t7");private static final String URL_VECTOR_2000 = "http://{subDomain}.tianditu.com/DataServer?T=vec_c&x={col}&y={row}&l={level}&tk=密钥";private static final String URL_VECTOR_ANNOTATION_CHINESE_2000 = "http://{subDomain}.tianditu.com/DataServer?T=cva_c&x={col}&y={row}&l={level}&tk=密钥";private static final String URL_VECTOR_ANNOTATION_ENGLISH_2000 = "http://{subDomain}.tianditu.com/DataServer?T=eva_c&x={col}&y={row}&l={level}&tk=密钥";private static final String URL_IMAGE_2000 = "http://{subDomain}.tianditu.com/DataServer?T=img_c&x={col}&y={row}&l={level}&tk=密钥";private static final String URL_IMAGE_ANNOTATION_CHINESE_2000 = "http://{subDomain}.tianditu.com/DataServer?T=cia_c&x={col}&y={row}&l={level}&tk=密钥";private static final String URL_IMAGE_ANNOTATION_ENGLISH_2000 = "http://{subDomain}.tianditu.com/DataServer?T=eia_c&x={col}&y={row}&l={level}&tk=密钥";private static final String URL_TERRAIN_2000 = "http://{subDomain}.tianditu.com/DataServer?T=ter_c&x={col}&y={row}&l={level}&tk=密钥";private static final String URL_TERRAIN_ANNOTATION_CHINESE_2000 = "http://{subDomain}.tianditu.com/DataServer?T=cta_c&x={col}&y={row}&l={level}&tk=密钥";public static final String URL_VECTOR_MERCATOR = "http://{subDomain}.tianditu.com/DataServer?T=vec_w&x={col}&y={row}&l={level}&tk=密钥";private static final String URL_VECTOR_ANNOTATION_CHINESE_MERCATOR = "http://{subDomain}.tianditu.com/DataServer?T=cva_w&x={col}&y={row}&l={level}&tk=密钥";private static final String URL_VECTOR_ANNOTATION_ENGLISH_MERCATOR = "http://{subDomain}.tianditu.com/DataServer?T=eva_w&x={col}&y={row}&l={level}&tk=密钥";private static final String URL_IMAGE_MERCATOR = "http://{subDomain}.tianditu.com/DataServer?T=img_w&x={col}&y={row}&l={level}&tk=密钥";private static final String URL_IMAGE_ANNOTATION_CHINESE_MERCATOR = "http://{subDomain}.tianditu.com/DataServer?T=cia_w&x={col}&y={row}&l={level}&tk=密钥";private static final String URL_IMAGE_ANNOTATION_ENGLISH_MERCATOR = "http://{subDomain}.tianditu.com/DataServer?T=eia_w&x={col}&y={row}&l={level}&tk=密钥";private static final String URL_TERRAIN_MERCATOR = "http://{subDomain}.tianditu.com/DataServer?T=ter_w&x={col}&y={row}&l={level}&tk=密钥";private static final String URL_TERRAIN_ANNOTATION_CHINESE_MERCATOR = "http://{subDomain}.tianditu.com/DataServer?T=cta_w&x={col}&y={row}&l={level}&tk=密钥";private static final int DPI = 96;private static final int minZoomLevel = 1;private static final int maxZoomLevel = 18;private static final int tileWidth = 256;private static final int tileHeight = 256;private static final String LAYER_NAME_VECTOR = "vec";private static final String LAYER_NAME_VECTOR_ANNOTATION_CHINESE = "cva";private static final String LAYER_NAME_VECTOR_ANNOTATION_ENGLISH = "eva";private static final String LAYER_NAME_IMAGE = "img";private static final String LAYER_NAME_IMAGE_ANNOTATION_CHINESE = "cia";private static final String LAYER_NAME_IMAGE_ANNOTATION_ENGLISH = "eia";private static final String LAYER_NAME_TERRAIN = "ter";private static final String LAYER_NAME_TERRAIN_ANNOTATION_CHINESE = "cta";private static final SpatialReference SRID_2000 = SpatialReference.create(4490);private static final SpatialReference SRID_MERCATOR = SpatialReference.create(102100);private static final double X_MIN_2000 = -180;private static final double Y_MIN_2000 = -90;private static final double X_MAX_2000 = 180;private static final double Y_MAX_2000 = 90;private static final double X_MIN_MERCATOR = -20037508.3427892;private static final double Y_MIN_MERCATOR = -20037508.3427892;private static final double X_MAX_MERCATOR = 20037508.3427892;private static final double Y_MAX_MERCATOR = 20037508.3427892;private static final Point ORIGIN_2000 = new Point(-180, 90, SRID_2000);private static final Point ORIGIN_MERCATOR = new Point(-20037508.3427892, 20037508.3427892, SRID_MERCATOR);private static final Envelope ENVELOPE_2000 = new Envelope(X_MIN_2000, Y_MIN_2000, X_MAX_2000, Y_MAX_2000, SRID_2000);private static final Envelope ENVELOPE_MERCATOR = new Envelope(X_MIN_MERCATOR, Y_MIN_MERCATOR, X_MAX_MERCATOR, Y_MAX_MERCATOR, SRID_MERCATOR);private static final double[] SCALES = {2.958293554545656E8, 1.479146777272828E8,7.39573388636414E7, 3.69786694318207E7,1.848933471591035E7, 9244667.357955175,4622333.678977588, 2311166.839488794,1155583.419744397, 577791.7098721985,288895.85493609926, 144447.92746804963,72223.96373402482, 36111.98186701241,18055.990933506204, 9027.995466753102,4513.997733376551, 2256.998866688275,1128.4994333441375};private static final double[] RESOLUTIONS_MERCATOR = {78271.51696402048, 39135.75848201024,19567.87924100512, 9783.93962050256,4891.96981025128, 2445.98490512564,1222.99245256282, 611.49622628141,305.748113140705, 152.8740565703525,76.43702828517625, 38.21851414258813,19.109257071294063, 9.554628535647032,4.777314267823516, 2.388657133911758,1.194328566955879, 0.5971642834779395,0.298582141738970};private static final double[] RESOLUTIONS_2000 = {0.7031249999891485, 0.35156249999999994,0.17578124999999997, 0.08789062500000014,0.04394531250000007, 0.021972656250000007,0.01098632812500002, 0.00549316406250001,0.0027465820312500017, 0.0013732910156250009,0.000686645507812499, 0.0003433227539062495,0.00017166137695312503, 0.00008583068847656251,0.000042915344238281406, 0.000021457672119140645,0.000010728836059570307, 0.000005364418029785169};public static WebTiledLayer CreateTianDiTuTiledLayer(String layerType) {return CreateTianDiTuTiledLayer(getTianDiTuLayerType(layerType));}public static WebTiledLayer CreateTianDiTuTiledLayer(LayerType layerType) {WebTiledLayer webTiledLayer = null;String mainUrl = "";String mainName = "";TileInfo mainTileInfo = null;Envelope mainEnvelope = null;boolean mainIs2000 = false;try {switch (layerType) {case TIANDITU_VECTOR_2000:mainUrl = URL_VECTOR_2000;mainName = LAYER_NAME_VECTOR;mainIs2000 = true;break;case TIANDITU_VECTOR_MERCATOR:mainUrl = URL_VECTOR_MERCATOR;mainName = LAYER_NAME_VECTOR;break;case TIANDITU_IMAGE_2000:mainUrl = URL_IMAGE_2000;mainName = LAYER_NAME_IMAGE;mainIs2000 = true;break;case TIANDITU_IMAGE_ANNOTATION_CHINESE_2000:mainUrl = URL_IMAGE_ANNOTATION_CHINESE_2000;mainName = LAYER_NAME_IMAGE_ANNOTATION_CHINESE;mainIs2000 = true;break;case TIANDITU_IMAGE_ANNOTATION_ENGLISH_2000:mainUrl = URL_IMAGE_ANNOTATION_ENGLISH_2000;mainName = LAYER_NAME_IMAGE_ANNOTATION_ENGLISH;mainIs2000 = true;break;case TIANDITU_IMAGE_ANNOTATION_CHINESE_MERCATOR:mainUrl = URL_IMAGE_ANNOTATION_CHINESE_MERCATOR;mainName = LAYER_NAME_IMAGE_ANNOTATION_CHINESE;break;case TIANDITU_IMAGE_ANNOTATION_ENGLISH_MERCATOR:mainUrl = URL_IMAGE_ANNOTATION_ENGLISH_MERCATOR;mainName = LAYER_NAME_IMAGE_ANNOTATION_ENGLISH;break;case TIANDITU_IMAGE_MERCATOR:mainUrl = URL_IMAGE_MERCATOR;mainName = LAYER_NAME_IMAGE;break;case TIANDITU_VECTOR_ANNOTATION_CHINESE_2000:mainUrl = URL_VECTOR_ANNOTATION_CHINESE_2000;mainName = LAYER_NAME_VECTOR_ANNOTATION_CHINESE;mainIs2000 = true;break;case TIANDITU_VECTOR_ANNOTATION_ENGLISH_2000:mainUrl = URL_VECTOR_ANNOTATION_ENGLISH_2000;mainName = LAYER_NAME_VECTOR_ANNOTATION_ENGLISH;mainIs2000 = true;break;case TIANDITU_VECTOR_ANNOTATION_CHINESE_MERCATOR:mainUrl = URL_VECTOR_ANNOTATION_CHINESE_MERCATOR;mainName = LAYER_NAME_VECTOR_ANNOTATION_CHINESE;break;case TIANDITU_VECTOR_ANNOTATION_ENGLISH_MERCATOR:mainUrl = URL_VECTOR_ANNOTATION_ENGLISH_MERCATOR;mainName = LAYER_NAME_VECTOR_ANNOTATION_ENGLISH;break;case TIANDITU_TERRAIN_2000:mainUrl = URL_TERRAIN_2000;mainName = LAYER_NAME_TERRAIN;mainIs2000 = true;break;case TIANDITU_TERRAIN_ANNOTATION_CHINESE_2000:mainUrl = URL_TERRAIN_ANNOTATION_CHINESE_2000;mainName = LAYER_NAME_TERRAIN_ANNOTATION_CHINESE;mainIs2000 = true;break;case TIANDITU_TERRAIN_MERCATOR:mainUrl = URL_TERRAIN_MERCATOR;mainName = LAYER_NAME_TERRAIN;break;case TIANDITU_TERRAIN_ANNOTATION_CHINESE_MERCATOR:mainUrl = URL_TERRAIN_ANNOTATION_CHINESE_MERCATOR;mainName = LAYER_NAME_TERRAIN_ANNOTATION_CHINESE;break;}List<LevelOfDetail> mainLevelOfDetail = new ArrayList<LevelOfDetail>();Point mainOrigin = null;if (mainIs2000 == true) {for (int i = minZoomLevel; i <= maxZoomLevel; i++) {LevelOfDetail item = new LevelOfDetail(i, RESOLUTIONS_2000[i - 1], SCALES[i - 1]);mainLevelOfDetail.add(item);}mainEnvelope = ENVELOPE_2000;mainOrigin = ORIGIN_2000;} else {for (int i = minZoomLevel; i <= maxZoomLevel; i++) {LevelOfDetail item = new LevelOfDetail(i, RESOLUTIONS_MERCATOR[i - 1], SCALES[i - 1]);mainLevelOfDetail.add(item);}mainEnvelope = ENVELOPE_MERCATOR;mainOrigin = ORIGIN_MERCATOR;}mainTileInfo = new TileInfo(DPI,TileInfo.ImageFormat.PNG24,mainLevelOfDetail,mainOrigin,mainOrigin.getSpatialReference(),tileHeight,tileWidth);webTiledLayer = new WebTiledLayer(mainUrl,SubDomain,mainTileInfo,mainEnvelope);webTiledLayer.setName(mainName);webTiledLayer.loadAsync();} catch (Exception e) {e.getCause();}return webTiledLayer;}protected static LayerType getTianDiTuLayerType(String layerType) {LayerType result = LayerType.TIANDITU_VECTOR_2000;switch (layerType) {/*** 天地图矢量墨卡托投影地图服务*/case "TIANDITU_VECTOR_MERCATOR":result = LayerType.TIANDITU_VECTOR_MERCATOR;break;/*** 天地图矢量墨卡托中文标注*/case "TIANDITU_VECTOR_ANNOTATION_CHINESE_MERCATOR":result = LayerType.TIANDITU_VECTOR_ANNOTATION_CHINESE_MERCATOR;break;/*** 天地图矢量墨卡托英文标注*/case "TIANDITU_VECTOR_ANNOTATION_ENGLISH_MERCATOR":result = LayerType.TIANDITU_VECTOR_ANNOTATION_ENGLISH_MERCATOR;break;/*** 天地图影像墨卡托投影地图服务*/case "TIANDITU_IMAGE_MERCATOR":result = LayerType.TIANDITU_IMAGE_MERCATOR;break;/*** 天地图影像墨卡托投影中文标注*/case "TIANDITU_IMAGE_ANNOTATION_CHINESE_MERCATOR":result = LayerType.TIANDITU_IMAGE_ANNOTATION_CHINESE_MERCATOR;break;/*** 天地图影像墨卡托投影英文标注*/case "TIANDITU_IMAGE_ANNOTATION_ENGLISH_MERCATOR":result = LayerType.TIANDITU_IMAGE_ANNOTATION_ENGLISH_MERCATOR;break;/*** 天地图地形墨卡托投影地图服务*/case "TIANDITU_TERRAIN_MERCATOR":result = LayerType.TIANDITU_TERRAIN_MERCATOR;break;/*** 天地图地形墨卡托投影中文标注*/case "TIANDITU_TERRAIN_ANNOTATION_CHINESE_MERCATOR":result = LayerType.TIANDITU_TERRAIN_ANNOTATION_CHINESE_MERCATOR;break;/*** 天地图矢量国家2000坐标系地图服务*/case "TIANDITU_VECTOR_2000":result = LayerType.TIANDITU_VECTOR_2000;break;/*** 天地图矢量国家2000坐标系中文标注*/case "TIANDITU_VECTOR_ANNOTATION_CHINESE_2000":result = LayerType.TIANDITU_VECTOR_ANNOTATION_CHINESE_2000;break;/*** 天地图矢量国家2000坐标系英文标注*/case "TIANDITU_VECTOR_ANNOTATION_ENGLISH_2000":result = LayerType.TIANDITU_VECTOR_ANNOTATION_ENGLISH_2000;break;/*** 天地图影像国家2000坐标系地图服务*/case "TIANDITU_IMAGE_2000":result = LayerType.TIANDITU_IMAGE_2000;break;/*** 天地图影像国家2000坐标系中文标注*/case "TIANDITU_IMAGE_ANNOTATION_CHINESE_2000":result = LayerType.TIANDITU_IMAGE_ANNOTATION_CHINESE_2000;break;/*** 天地图影像国家2000坐标系英文标注*/case "TIANDITU_IMAGE_ANNOTATION_ENGLISH_2000":result = LayerType.TIANDITU_IMAGE_ANNOTATION_ENGLISH_2000;break;/*** 天地图地形国家2000坐标系地图服务*/case "TIANDITU_TERRAIN_2000":result = LayerType.TIANDITU_TERRAIN_2000;break;/*** 天地图地形国家2000坐标系中文标注*/case "TIANDITU_TERRAIN_ANNOTATION_CHINESE_2000":result = LayerType.TIANDITU_TERRAIN_ANNOTATION_CHINESE_2000;break;}return result;}public enum LayerType {/*** 天地图矢量墨卡托投影地图服务*/TIANDITU_VECTOR_MERCATOR,/*** 天地图矢量墨卡托中文标注*/TIANDITU_VECTOR_ANNOTATION_CHINESE_MERCATOR,/*** 天地图矢量墨卡托英文标注*/TIANDITU_VECTOR_ANNOTATION_ENGLISH_MERCATOR,/*** 天地图影像墨卡托投影地图服务*/TIANDITU_IMAGE_MERCATOR,/*** 天地图影像墨卡托投影中文标注*/TIANDITU_IMAGE_ANNOTATION_CHINESE_MERCATOR,/*** 天地图影像墨卡托投影英文标注*/TIANDITU_IMAGE_ANNOTATION_ENGLISH_MERCATOR,/*** 天地图地形墨卡托投影地图服务*/TIANDITU_TERRAIN_MERCATOR,/*** 天地图地形墨卡托投影中文标注*/TIANDITU_TERRAIN_ANNOTATION_CHINESE_MERCATOR,/*** 天地图矢量国家2000坐标系地图服务*/TIANDITU_VECTOR_2000,/*** 天地图矢量国家2000坐标系中文标注*/TIANDITU_VECTOR_ANNOTATION_CHINESE_2000,/*** 天地图矢量国家2000坐标系英文标注*/TIANDITU_VECTOR_ANNOTATION_ENGLISH_2000,/*** 天地图影像国家2000坐标系地图服务*/TIANDITU_IMAGE_2000,/*** 天地图影像国家2000坐标系中文标注*/TIANDITU_IMAGE_ANNOTATION_CHINESE_2000,/*** 天地图影像国家2000坐标系英文标注*/TIANDITU_IMAGE_ANNOTATION_ENGLISH_2000,/*** 天地图地形国家2000坐标系地图服务*/TIANDITU_TERRAIN_2000,/*** 天地图地形国家2000坐标系中文标注*/TIANDITU_TERRAIN_ANNOTATION_CHINESE_2000}}

注意:密钥申请https://console.tianditu.gov.cn/api/key
module:build.gradle

plugins {id 'com.android.application'
}android {compileSdkVersion 30buildToolsVersion "30.0.3"defaultConfig {applicationId "com.example.arcgistest"minSdkVersion 23targetSdkVersion 30versionCode 1versionName "1.0"testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"}buildTypes {release {minifyEnabled falseproguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'}}compileOptions {sourceCompatibility JavaVersion.VERSION_1_8targetCompatibility JavaVersion.VERSION_1_8}
//    buildFeatures {//        viewBinding true
//    }
//    ndkVersion '23.0.7344513 rc4'
}dependencies {implementation 'androidx.appcompat:appcompat:1.2.0'implementation 'com.google.android.material:material:1.2.1'implementation 'androidx.constraintlayout:constraintlayout:2.0.4'
//    implementation files('libs\\gson-2.8.6.jar')testImplementation 'junit:junit:4.12'androidTestImplementation 'androidx.test.ext:junit:1.1.2'androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0'implementation 'com.esri.arcgisruntime:arcgis-android:100.11.0'
//    implementation files('libs/gson-2.8.6.jar')
}

project:build.gradle

// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {repositories {google()jcenter()}dependencies {classpath "com.android.tools.build:gradle:4.1.1"// NOTE: Do not place your application dependencies here; they belong// in the individual module build.gradle files}
}allprojects {repositories {google()jcenter()// Add the Esri public Maven repositorymaven {url 'https://esri.jfrog.io/artifactory/arcgis'}flatDir {dirs 'libs'}}
}task clean(type: Delete) {delete rootProject.buildDir
}

效果图:

哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈

Android端加载显示高分辨率卫星地图相关推荐

  1. 如何把Excel坐标加载到谷歌卫星地图上

    通过RTK采集到的经纬度坐标点往往需要加载到卫星地图上和图上位置进行一下对比以确定是否准确,水经注万能地图就提供了加载Excel坐标点到地图上的方法,下面将一谷歌地图为例,介绍一下加载Excel坐标点 ...

  2. osgEarth如何加载离线谷歌卫星地图瓦片的源码教程

    说明 本实例演示重新编译bing驱动直接加载本地离线影像瓦片地图. 本实例使用软件版本:osg3.3.1和osgEarth2.5 VC10编译环境(参考osgearth加载谷歌卫星地图的源码案例),v ...

  3. QGIS加载无偏移卫星地图URL

    http://www.google.cn/maps/vt?lyrs%3Ds%26x%3D%7Bx%7D%26y%3D%7By%7D%26z%3D%7Bz%7D&zmax=18&zmin ...

  4. Android原生加载显示在线PDF链接

    工作需求,需要加载一个在线pdf,链接以".pdf"结尾.通过查找,大都需要先把pdf文件下载下来,然后再加载,有以下几种实现方式: 方法一 :参考谷歌demo(android-P ...

  5. 百度地图调用加载显示Marker,并添加点击事件

    百度地图调用加载显示Marker,并添加点击事件 注册百度开发者账号,申请应用AK 百度地图开发平台官网 点击右上角控制台,选择创建应用 创建应用,勾选浏览器端,白名单填写* 注:如上线更改为公网IP ...

  6. 加载调用本地百度地图资源,附地图下载器及黑龙江省1-16级瓦片地图,加载显示marker

    业务适用场景说明 适用范围,需要局域网或者本地环境加载显示百度地图及展示marker的业务场景,可以根据业务使用场景下载不同地区等级的地图瓦片.由于瓦片文件过大,建议放在本地服务器上. 已有1-16级 ...

  7. Android 四大组件之——Acitivity(四) Activity是如何加载显示内容的?

    1. 在Activity调用onCreate()等生命周期之前,Activity会调用attach()方法,而在attach()方法中会调用如下代码 onAttach() {PolicyManager ...

  8. Android中从assets资源中读取图片文件并保存到内部存储器并加载显示在ImageView中

    场景 Android系统为每个新设计的程序提供了/assets目录,这个目录保存的文件可以打包在程序里./res和/assets的不同点是,android不为/assets下的文件生成ID.如果使用/ ...

  9. android主动显示流程,Activity加载显示基本流程

    本文章是基于Android源码6.0讲解Activity加载显示基本流程 首先上一张图给大家一个直观的了解 首先一个布局页面的加载是在Activity中的setContentView(R.layout ...

最新文章

  1. 谷歌浏览器实现按下按键的脚本_chrome浏览器控制台创建js脚本并执行
  2. Spring AOP中pointcut expression表达式解析
  3. 在C语言中是怎么存储的,在C语言中,串的存储方式是()。
  4. @1.0.0 dev: `webpack-dev-server --inline --progress --config
  5. python虚拟环境拷贝到另一台电脑,不能直接使用的问题
  6. kali linux 数据源,kali Linux msf5 连接数据库 No database support
  7. C语言爬虫程序,simspider
  8. [转载] python基础 - namedtuple和enum
  9. 洛谷2142高精度减法(模板)
  10. 计算机配件出口单证,出口制单
  11. 国产web服务器系统,国产web服务器
  12. 名帖332 王献之 草书《鸭头丸帖》
  13. nfc ntag21x ultralight 内存结构
  14. 电脑老是弹出vrvedp_m_vrvedp_m.exe是什么进程?是病毒吗?vrvedp,vrvedp.exe,,,,,,,
  15. 全景解密量子信息技术:高层集中学习,国家战略,三大领域一文看懂
  16. mysql 授予权限语句_MySQL授予权限
  17. PHP Web应用开发 -用PHP实现简单的个人博客网站
  18. 【杰理AC632n】IIC-VCNL36826S
  19. c语言课程结束小项目:2048小游戏
  20. 卡饭输入法制作和导入自定义词库

热门文章

  1. NL-Mean和BM3D去噪原理
  2. 网易严选数据质量实践
  3. 分治法-----找最大值与最小值
  4. c语言创建局域网私人云盘,教你搭建个人/企业私有云盘-kodexplorer
  5. 怎么把模糊的照片变清晰?这篇文章告诉你
  6. 如何设置计算机断电自启动,如何设置电脑断电后来电自动开机?
  7. mac电脑永久激活pycharm
  8. CSS counters 深度介绍
  9. 软件测试项目实战《学车不》
  10. 关于制作点击出现文字的JS效果