百度地图JS API切卫星图须用BMap.SatelliteLayer类,配合法定AK并开启“静态图服务”和“JavaScript API”权限,禁用跨域调用;手动拼接瓦片URL将触发403错误。

直接用百度地图 JS API 的 BMap.SatelliteLayer 就能切,但必须配合法定 AK 且不能跨域调用;腾讯、高德、天地图各自图层地址和加载逻辑完全不同,混用会白屏或报 403。
百度地图 JS API 切卫星图:必须用 SatelliteLayer,别手写 URL
百度不开放公开的卫星瓦片地址,所有合法调用必须走官方封装的 BMap.SatelliteLayer 类。自己拼 http://shandian.baidupcs.com/... 这类地址会直接 403——不是权限问题,是服务端做了 Referer 和签名双重拦截。
-
v=2.0或v=3.0版本都支持SatelliteLayer,但v=1.0已停用,加载会失败 - AK 必须在控制台开启「静态图服务」和「JavaScript API」两个权限,缺一不可
- 切换时不要
removeTileLayer再addTileLayer,直接satelliteLayer.show()/satelliteLayer.hide()更稳 - 若地图初始化后没立刻显示卫星图,检查是否漏了
map.enableScrollWheelZoom(true)—— 某些安卓 WebView 下禁用滚轮会导致图层不触发重绘
腾讯地图手动加载卫星瓦片:URL 模板固定,但需处理坐标偏移
腾讯卫星图瓦片地址是公开的:http://p1.map.gtimg.com/sateTiles/{zoom}/{x}/{y}/{x}_{y}.jpg,但注意:它的 x/y 是基于墨卡托投影的整数瓦片索引,不是经纬度直传。直接传 lng=116.4, lat=39.9 会错位。
- 必须用
qq.maps.geometry.spherical.computeOffset或qq.maps.Map.getBounds()获取当前可视区域,再调用qq.maps.Map.getZoom()算出对应瓦片行列号 - 腾讯默认启用 GCJ-02 偏移,若你坐标是 WGS84(比如 GPS 设备原始数据),要先用
qq.maps.convertor.translate转换,否则卫星图和标注点对不上 - 瓦片域名有
p1~p4四组,建议随机选一个避免请求被限速,别死磕p1
高德/天地图切换卫星图:用官方图层类,别自己 new TileLayer
高德的 AMap.TileLayer.Satellite 和天地图的 TMap.TileLayer.Satellite 都是封装好的类,内部已处理跨域、加密、投影、缩放级别适配。自己 new 一个 AMap.TileLayer 并填入天地图的 URL,结果就是空白加控制台报 CORS 错误。
把任意文章或文档内容转换成精美的全屏翻页 HTML 演示文件(幻灯片风格)。当用户发来一篇文章、文档链接、Markdown 内容、或粘贴的文本,并且希望生成演示用的 HTML 时触发。支持任意内容来源:iWiki 链接、KM 链接、本地文件路径、直接粘贴的文本。生成的 HTML 文件保存到本地工作区,并通过企微直接发送给用户。触发词示例:帮我把这篇文章做成PPT、转成演示文档、生成HTML幻灯片、做个演示、转成可以演示的格式、article to deck、make a slide。
- 高德必须用
plugin=AMap.TileLayer.Satellite显式声明插件,否则new AMap.TileLayer.Satellite()会报undefined - 天地图的卫星图层在
v2.0SDK 中叫TMap.TileLayer.Satellite,但v1.x叫TMap.Layer.Satellite,版本不匹配直接报错 - 两者都依赖 HTTPS,HTTP 页面里加载会静默失败(连 Network 面板都看不到请求)
Mapbox 切第三方卫星底图:靠 map.addSource + map.addLayer,但注意协议合规
Mapbox GL JS 允许自定义 raster 源,但高德、天地图等明确禁止将其瓦片用于 Mapbox 渲染(查看其开发者协议第 4.2 条)。Bing Maps 卫星图虽未明文禁止,但需申请 Bing Maps Key 并在 URL 中带上 ?key=xxx,否则返回 401。
- 天地图的
http://t0.tianditu.gov.cn/DataServer?T=img_w&X={x}&Y={y}&L={z}地址必须加&tk=你的token,否则只返回低分辨率图 - Mapbox 的
minzoom/maxzoom必须和目标图源实际支持的级别一致,天地图影像最高只到z=18,设成22就是空瓦片 - 所有自定义 raster 图层都要配
type: "raster"和tileSize: 256,漏掉任一字段,图层加载状态为 pending 但无报错
真正容易被忽略的是坐标系一致性:百度用 BD-09,高德/腾讯用 GCJ-02,天地图用 CGCS2000,Mapbox 默认 WGS84。切图层不等于切视觉,坐标没对齐,卫星图和你在上面画的点永远错开 200 米以上。
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!










