唯杰地图 logo唯杰地图
VJMAP
EN

常见坑

vjmap/references/trouble/overview.md 2.7 KB54 行
原文

本文回答:常见坑索引 —— 从现象反查解决方案。

按现象 → 文件映射,遇到问题直接跳对应叶子。

症状速查

症状 原因 / 文件
首屏黑屏 / 画面未出现 container-collapse
vjmapext is not defined cdn-order
请求 401 / 403 / CORS token-cors
svc.openMap 成功但 res.bounds 取不到 bounds-parse
Node 里 openMap 一直 403 / {reload:true} 自定义 IRequest 丢了 args.headers → token-cors "Node 环境" 节
getEpsgParam 返回 null 第二参要传带号或 8 位坐标,不是普通经度 → coord/cad-epsg
高德底图上 CAD 坐标偏 100~500 米 coord-offset-gaode
控件 / Popup 样式不对 createui-no-theme
批量 addEntity 非常慢 batch-lag
Vue / React 切页面后 Marker 重影 marker-duplicate
内存一直涨不释放 listener-leak
fromJSON 后看不见图 fromjson-fit
组件卸载后地图未销毁 vue-react-dispose

Top 10 红旗

  1. 容器 <div> 没有宽高 / 没有 position: relative → 首屏塌陷
  2. <script> 把 vjmapext 放在 vjmap 前面 → 加载失败
  3. openMap 成功后没检查 res.error
  4. 高德底图上 CAD 坐标没做 GCJ02 转换
  5. 批量 addEntity 循环里每条都 setDirty()
  6. Vue 组件卸载时没 map.remove() → Marker 残留
  7. map.on('click', handler) 没对应 off → 内存泄漏
  8. new vjmap.Service(url, token) 的服务地址和后端域名协议不一致 → 混合内容(注意:Service 构造是位置参数 (url, token);配套后端 SDK 也是位置参数 new Vjmap(baseUrl, token) / Vjmap(base_url, token))
  9. DomUtil / createUI 之前没加主题 CSS
  10. fromJSON 后忘 zoomExtents() → 看不到加载的图

排查流程

1. 看浏览器 Console 有没有红字 → 拷关键字搜本目录
2. 看 Network 面板 → 401/403/CORS → token-cors.md
3. 容器元素检查 → 宽高 0 / display none → container-collapse.md
4. 没错也不显示 → fromjson-fit / bounds-parse
5. 都没问题但画面重影 / 泄漏 → marker-duplicate / listener-leak / vue-react-dispose

相关