开放层:坐标以逗号表示,十进制格式



我将鼠标位置呈现如下:

map.addControl(new ol.control.MousePosition({
coordinateFormat: function (coordinate) {
return ol.coordinate.format(
coordinate, 
'E {x}  N {y} (' + projectionTitle + ')', 3
).replaceAll( '.', ',' );
}
}));

replaceAll的部分工作得很好,但是很hacky,我想使用一个"推荐的"。在OL中形成坐标的方法

任何想法?

如果您的用户都在同一个国家,那么您的解决方案就足够了。如果您想在许多国家支持个人用户本地号码格式,您可以使用toLocaleStringhttps://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/toLocaleString#using_options

map.addControl(new ol.control.MousePosition({
coordinateFormat: function (coordinate) {
const options = {minimumFractionDigits: 3, maximumFractionDigits: 3}
return 'E ' + coordinate[0].toLocaleString(undefined, options) +
'  N ' + coordinate[1].toLocaleString(undefined, options) +
' (' + projectionTitle + ')';
}
}));

最新更新