经纬志
首页 / OpenLayers / 使用示例

坐标显示

鼠标移动时同时给出三种坐标:六位小数的经纬度、视图投影下的米制值、 以及度分秒格式。坐标系换算是这里唯一容易出错的地方。

OpenLayers 10.3.1 · 更新 2026-10-27
源码与运行效果
运行效果

说明

控件方式最省事:ol.control.MousePosition 自带 projection 与 coordinateFormat 两个参数, 把 projection 设为 'EPSG:4326', 它内部自动做逆投影。

显示项来源是否需要转换
经纬度ol.proj.toLonLat(evt.coordinate)需要
米制坐标evt.coordinate 原值不需要
度分秒ol.coordinate.degreesToStringHDMS传入经纬度数组

事件方式比控件灵活:可以在同一个回调里同时输出投影前后的值, 也便于把坐标写入表单或发给后端。evt.dragging 为真时 说明用户正在拖动地图,直接跳过即可,否则数字会乱跳。

createStringXY(4) 的 4 是小数位数。 经纬度四位小数约十米精度,六位约十厘米。 显示位数超过数据本身的精度只会增加噪音。