CRS.Simple
# 概述
CRS.Simple
坐标参考系,用于定义简单的平面坐标系统,该坐标系转为平面地图设计,将地理坐标直接映射为平面直角坐标系。
# 源码分析
# 源码实现
CRS.Simple
的源码实现如下:
export var Simple = Util.extend({}, CRS, {
projection: LonLat, // 投影:使用等距圆柱投影
transformation: toTransformation(1, 0, -1, 0), // 定义坐标变换矩阵,调整Y轴方向,使平面坐标原点(0,0)位于屏幕左下角
scale: function (zoom) {
return Math.pow(2, zoom);
}, // 计算缩放比例因子,2的幂次方
zoom: function (scale) {
return Math.log(scale) / Math.LN2;
}, // 根据比例因子反推计算缩放级别,取对数
// 使用欧几里得距离公式计算两点之间的直线距离
distance: function (latlng1, latlng2) {
var dx = latlng2.lng - latlng1.lng,
dy = latlng2.lat - latlng1.lat;
return Math.sqrt(dx * dx + dy * dy);
},
// 标识地图在水平方向(x 轴)无限延申,支持横向循环滚动
infinite: true,
});
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# 应用场景
- 游戏地图:如横向卷轴游戏或策略地图,坐标单位为像素或游戏内单位。
- 室内平面图:商场、场馆的二维平面布局,直接使用坐标定位。
- 虚构世界:非真实地理环境的地图,如棋盘、虚拟场景。
# 总结
通过 CRS.Simple
,Leaflet 能够灵活支持各类平面地图场景,简化坐标处理逻辑,适用于非地理信息系统的二维空间可视化需求。
编辑 (opens new window)
上次更新: 2025/04/28, 10:08:26