LatitudeLongitude到LongitudeLatitude字符串.交换字符串中的坐标



OpenLayers接受经度-纬度格式的坐标,我希望用户以纬度-经度格式输入。用户在输入字段中以字符串形式输入坐标。

如果我们有点的话,交换很容易:

var coo = ‘50, 30’;
OpenLayers.LonLat(JSON.parse(‘[‘+coo+’]’)[1], JSON.parse(‘[‘+coo+’]’)[0]);

但在线路格式的情况下:

var coo = ‘50 30, 55 35’;

它变成了一种痛苦。也许有现成的解决方案?我需要将字符串从x1 y1, x2 y2, ...转换为y1 x1, y2 x2, ...

您可以将坐标字符串拆分为一个数组,反转坐标对(从lat-lon到lon-lat(,然后再次将其转换为数组:

let cooLonLat = coo
.replaceAll(', ', ',')
.split(',')
.map(pair => pair.split(' ').reverse().join(' '))
.join()
.replaceAll(',', ', ')

检查小提琴:https://jsfiddle.net/Lfcb9pak/

最新更新