1. 初识OpenLayers中的坐标系
刚接触OpenLayers开发时,坐标系这个概念让我头疼了好一阵子。记得第一次在地图上显示标记时,明明输入的经纬度坐标是正确的,但标记却跑到了非洲附近。后来才发现,原来是坐标系没搞清楚。
OpenLayers中最常用的两种坐标系是EPSG:3857和EPSG:4326。简单来说,EPSG:4326就是我们熟悉的经纬度坐标系,GPS设备、Google Earth都使用这种格式。它的坐标看起来像[114.05, 22.37]这样,第一个数是经度,第二个是纬度。
而EPSG:3857则是Web地图的"标准语言",也叫Web墨卡托投影。它的坐标数值要大得多,比如[12914838.35,4814529.9]。这种投影方式有个特点:它把地球表面"拉伸"成一个正方形,方便在网页上显示。
2. EPSG:4326详解:GPS的通用语言
2.1 什么是WGS84坐标系
EPSG:4326其实就是WGS84坐标系,这是全球定位系统(GPS)使用的标准。我第一次用无人机采集地理数据时,设备输出的就是这种格式的坐标。它的特点是以经纬度表示位置:
- 经度范围:-180到180度
- 纬度范围:-90到90度
在实际开发中,我们遇到的很多地理数据都是这种格式。比如从手机GPS获取的位置信息,或者从政府公开数据平台下载的GIS数据。
2.2 在OpenLayers中使用EPSG:4326
如果你想直接用EPSG:4326坐标系创建地图,可以这样设置View:
import View from 'ol/View';
let view = new View({
projection: "EPSG:4326",
center: [116.404, 39.915], // 北京天安门坐标
zoom: 10
});
但这样会有一个问题:地图看起来会被"压扁"。这是因为地球是球形的,直接平铺到二维平面上就会产

2743

被折叠的 条评论
为什么被折叠?



