chore(map): 提交与线上一致的 GL 版改写 SDK 与地图诊断页
public/bmap-sdk.js(GL 版改写产物,正式页面当前使用)
- 与线上 /bmap-sdk.js 完全一致(md5 bb40716090d3f5352aaa06650548ef0e)
- 内部域名全部指向本站代理:/bmap-api、/bmap-tile0-3、/bmap-sv0-1、/bmap-webmap、/bmap-map
public/bmap-test.html(地图诊断页,/bmap-test.html 可直接访问)
排查百度地图加载问题用的可视化诊断工具,包含:
- 第 1~3 块:直连 / 经代理 / 本站改写版 三种加载方式对比
- 第 4 块:拦截 alert 与资源加载失败,定位错误来源
- 第 5 块:WebGL / 渲染器 / devicePixelRatio 环境检测
- 第 6~9 块:SDK 完整性、实例行为、全部网络请求明细(每秒实时报告)
最终问题定位结论(已全部修复,服务端为主):
1. 网络 IPv6 不通 -> nginx IPv4 反向代理
2. nginx 不转发 Referer -> 补 proxy_set_header Referer/Origin
3. /sty 资源映射错 Host -> 改 maponline0.bdimg.com
4. GL 版 Blob Worker 域名失效 -> 2D 版兜底方案(v1.4,见 bmap-sdk2d.js)
5. 协议写死 https -> BMAP_PROTOCOL 跟随页面协议
6. ak 白名单不含本机 IP -> nginx 改写 Referer 为 localhost(见 deploy/bmap-proxy.conf)
验证:qt=verify 由 220 变为 {"error":0};getscript 200/879KB;瓦片 200/12.7KB;/sty 200/119KB