首页 / OpenLayers / 使用示例
坐标显示
鼠标移动时同时给出三种坐标:六位小数的经纬度、视图投影下的米制值、 以及度分秒格式。坐标系换算是这里唯一容易出错的地方。
源码与运行效果
说明
控件方式最省事:ol.control.MousePosition 自带
projection 与 coordinateFormat 两个参数,
把 projection 设为 'EPSG:4326',
它内部自动做逆投影。
| 显示项 | 来源 | 是否需要转换 |
|---|---|---|
| 经纬度 | ol.proj.toLonLat(evt.coordinate) | 需要 |
| 米制坐标 | evt.coordinate 原值 | 不需要 |
| 度分秒 | ol.coordinate.degreesToStringHDMS | 传入经纬度数组 |
事件方式比控件灵活:可以在同一个回调里同时输出投影前后的值,
也便于把坐标写入表单或发给后端。evt.dragging 为真时
说明用户正在拖动地图,直接跳过即可,否则数字会乱跳。
createStringXY(4) 的 4 是小数位数。
经纬度四位小数约十米精度,六位约十厘米。
显示位数超过数据本身的精度只会增加噪音。