uni-app 安卓端完美接入卫星地图:解决图层缺失与层级过高难题

前言:

uni-app 的 renderjs 特性:

  • 运行环境 :在 App 端(Android/iOS)的 WebView 视图层 中执行(和 H5 一样)
  • 能力:可直接操作 DOM、调用浏览器 API、加载第三方 JS 库(如高德 JS API)
  • 通信 :通过 $ownerInstance.callMethod() 与逻辑层(JS 引擎)双向通信

换句话说:你在 renderjs 里写的代码,就相当于在一个"内嵌网页"中运行 ------ 所以 Web 地图 SDK 完全可用!

问题:

在一些农业物联网APP应用中,常常对卫星地图的需求比较高,并且zoom的放大层级要求比较高,在使用高德的卫星地图过程中,我发现它的层级最高只能到16,无法满足放大查看更多层级图层,如图:

解决方案:

更换图层源(这两个卫星地图的图层源的层级都可以到18,对用户去放大地图的细节完全够用):

1.使用mapbox图层源

目前国内已经无法注册

javascript 复制代码
const mapboxSatelliteLayer = new AMap.TileLayer({
            zooms: [12, 18],
            getTileUrl: (x, y, z) => {
                const accessToken = '你的token';
                return `https://api.mapbox.com/v4/mapbox.satellite/${z}/${x}/${y}.webp?sku=101MJBaF81K8z&access_token=${accessToken}`;
            },
            opacity: 1,
        });

2.使用天地图图层源

javascript 复制代码
const tiandituImgLayer = new AMap.TileLayer({
          zooms: [12, 18],
            getTileUrl: (x, y, z) => {
                return `http://t0.tianditu.gov.cn/img_w/wmts?SERVICE=WMTS&REQUEST=GetTile&VERSION=1.0.0&LAYER=img&STYLE=default&TILEMATRIXSET=w&FORMAT=tiles&TILEMATRIX=${z}&TILEROW=${y}&TILECOL=${x}&tk=你的tk&sk=你的sk`;
            },
            opacity: 1
        });

在创建地图实例时,加入对应图层源

javascript 复制代码
                // 创建地图实例
				map = new AMap.Map("container", {
					pitch: 50, //地图俯仰角度
					viewMode: '3D',
					zoom: 14,
					center: [84.920629, 45.417129], // 设置初始中心点 [lng, lat]
					layers: [mapboxSatelliteLayer],
					visible: true,
					resizeEnable: true,
					zooms: [2, 20], //地图显示的缩放级别范围
				});

实现效果:

1.mapbox图层源

2.天地图图层源

相关推荐
ZoeLandia2 小时前
TypeScript 03:泛型与工具类型
前端·typescript
code_Bo2 小时前
从策划到上线:我和 AI 一起做了个微信记账小程序
前端·ai编程·cursor
AIsoft_86892 小时前
医患交流内容如何做好记录?
android·iphone
Shirley~~2 小时前
Three.js加载Gltf模型并播放动画
前端·3d
Data analyse4562 小时前
Session超时与浏览器休眠的计时校验
大数据·前端·数据库·数据分析
星始流年2 小时前
AI 时代,软件程序员未来 10—15 年的职业前景
前端·后端·ai编程
蒸鱼Yuzheng2 小时前
Android Native 崩溃证据链:Tombstone、Build ID 与 Trace 如何联合归因
android·ndk·tombstone·调试符号·崩溃分析
猪猪拆迁队3 小时前
跨电脑复制共享-局域网直连踩坑
前端·后端·go
静默回滚3 小时前
逐帧处理视频的内存去哪了,我从看错读数查到没排队
前端
事圆则缓3 小时前
Kotlin 变量与函数:把页面状态和行为写成清楚的契约
android·开发语言·kotlin