唯杰地图 logo唯杰地图
VJMAP
EN

打开图总览

vjmap/references/open-map/overview.md 2.0 KB32 行
原文

本文回答:打开图主题的总览与所有子项索引;3 种打开方式的选型速查。

选型速查

场景 用哪种 文档
打开已上传 DWG 图进行查看/叠加 svc.openMap({ mapid, mapopenway: GeomRender }) open-dwg
第一次把 dwg 文件挂到服务端并取 mapid 传 fileid 或 filedoc open-dwg
临时查看(只用内存,不保存至空间库) mapopenway: Memory map-open-way
新建一张空白图(程序化绘制) svc.rasterBlankStyle(0, 24) + 自己定坐标范围 blank-map
从前端数据生成一张 DWG svc.updateMap({ filedoc }) blank-map + backend/upload-create-map
切换成另一张图但保留 map 对象 map.switchMap({ mapid }) switching
切换成另一张图并重建 map 先 map.destory(),再 new vjmap.Map(...) switching

子项索引

子文件 回答什么
open-dwg svc.openMap 完整参数、fileid 的 4 种形态、res.error 处理
map-open-way vjmap.MapOpenWay.Memory / GeomRender 的差异、优劣、选型
blank-map 空白地图、rasterBlankStyle / 自定义 style
bounds-and-projection res.bounds → GeoBounds → GeoProjection 的链路
switching 三种切图方式:switchMap / 重建 / 新 div

主题级 Top 3 陷阱

  1. res.error 没检查就 new GeoProjection → 后续操作全部失败,错误难溯源。
  2. res.bounds 是字符串,直接传 new GeoProjection(res.bounds) 是 OK 的(内部会 parse),但你若先 vjmap.GeoBounds.fromString 则要保证值不是 undefined。
  3. 切图后忘了 map.fitMapBounds() → 视图留在旧图的中心点。