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.天地图图层源

相关推荐
子兮曰1 天前
jev-ultrafast 深度解析:7 秒订机票的浏览器 Agent 是如何炼成的
前端·后端·agent
子兮曰1 天前
Jev 爆发一周:7 秒 Agent 背后的 System One 生态与三场争议
前端·后端·ai编程
前端小万1 天前
写公众号赚了 3000 块后,我做了一款叫 "一键成稿" 的软件
前端·微信小程序
爱勇宝1 天前
ZCode 开源 24 小时:一份没有历史的账本,回答不了"有没有偷代码"
前端·后端·chatglm (智谱)
千里马学框架1 天前
一起学 Android 14:ShellTransition 屏幕旋转过程深度剖析
android·智能手机·性能优化·framework·性能·屏幕旋转·rotation
美狐美颜SDK开放平台1 天前
开发直播APP时如何接入视频美颜SDK?开发流程与注意事项
android·人工智能·计算机视觉·音视频·直播美颜sdk
三十而立洋1 天前
Cookie 详解:从产生到安全,一次讲透
前端·javascript
AFinalStone1 天前
Android7 SystemUI源码解析(七)Keyguard锁屏模块深度解析
android·systemui
卡布鲁1 天前
把一个 Vite + Vue3 应用塞进 qiankun (React + Umi3) 主站:十个坑的复盘
前端·javascript·react.js
致远ccc1 天前
Google Play 上架前如何测试 App?多国家 Android 环境测试
android·app测试·googleplay·多国家应用测试