Leaflet - 如何将经纬度旋转 90 度?

Leaflet - how to rotate latlong 90degrees?

错误

正确

我有一张 CRS.simple 由 x y 坐标制作的地图。当插入标记时,它们会像第一张图片所示那样移动,但它们应该像第二张图片中那样移动。我如何实现这种轮换?

CRS.Simple 坐标的格式为 [y,x]

您可以通过以下方式切换它们:

var yx = L.latLng;

var xy = function(x, y) {
    if (L.Util.isArray(x)) {    // When doing xy([x, y]);
        return yx(x[1], x[0]);
    }
    return yx(y, x);  // When doing xy(x, y);
};

https://leafletjs.com/examples/crs-simple/crs-simple.html#this-is-not-the-latlng-youre-looking-for

更新

通过添加减号来镜像坐标:

var yx = L.latLng;

var xy = function(x, y) {
    if (L.Util.isArray(x)) {    // When doing xy([x, y]);
        return yx(-x[1], -x[0]);
    }
    return yx(-y, -x);  // When doing xy(x, y);
};