我将鼠标位置呈现如下:
map.addControl(new ol.control.MousePosition({
coordinateFormat: function (coordinate) {
return ol.coordinate.format(
coordinate,
'E {x} N {y} (' + projectionTitle + ')', 3
).replaceAll( '.', ',' );
}
}));
replaceAll
的部分工作得很好,但是很hacky,我想使用一个"推荐的"。在OL中形成坐标的方法
任何想法?
如果您的用户都在同一个国家,那么您的解决方案就足够了。如果您想在许多国家支持个人用户本地号码格式,您可以使用toLocaleString
https://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 + ')';
}
}));