# 坐标转换

# 示意图

名称 说明
几何坐标 图中实际的坐标
经纬度坐标 地理坐标(在渲染时必须要转成经纬度坐标)
墨卡托坐标 投影坐标

提示

如果图形的坐标系非经纬度坐标系,则几何计算如相交、插值等请使用 几何坐标渲染时再转成 经纬度坐标

# 投影坐标系

名称 描述 说明 初始化
GeoProjection 几何投影坐标系 图形的坐标非经纬度坐标,而是实际的图的几何坐标数据 new vjmap.GeoProjection(图形的实际范围);
LnglatProjection 经纬度投影坐标系 图形的坐标本身就是经纬度坐标 new vjmap.LnglatProjection()

# 转换

// 获取地图的范围 res.bounds 为打开图后返回的图形范围
let mapExtent = vjmap.GeoBounds.fromString(res.bounds);
// 根据地图范围建立几何投影坐标系
let prj = new vjmap.GeoProjection(mapExtent);
// 如果是图形坐标是经纬度,则根据地图范围建立经纬度投影坐标系
// let prj = new vjmap.LnglatProjection();


// 几何坐标转经纬度
let lngLat = prj.toLngLat(mapExtent.center());

// 经纬度转几何坐标
let geo = prj.fromLngLat(lngLat);
1
2
3
4
5
6
7
8
9
10
11
12
13

提示

如果map关联了投影对象 map.attach(svc, prj);则
map.toLngLat 等价于 prj.toLngLat
map.fromLngLat 等价于 prj.fromLngLat