Javascript 在旋转地图中将游戏位置转换为lat lng

Javascript 在旋转地图中将游戏位置转换为lat lng,javascript,math,geolocation,Javascript,Math,Geolocation,我有一道数学题,我想不起来,我觉得自己很笨 我有这样定义的游戏边界 const GAME_BOUNDS = { x: { min: -3200, max: 4800 }, y: { min: -4000, max: 6000 } } 我有一个位置,例如const POS={x:100,y:-500}。我想将位置转换为我边界内的正确lat/lng。其中lng 180为x:4800。然而,诀窍是,贴图是

我有一道数学题,我想不起来,我觉得自己很笨

我有这样定义的游戏边界

const GAME_BOUNDS = {
    x: {
        min: -3200,
        max: 4800
    },
    y: {
        min: -4000,
        max: 6000
    }
}

我有一个位置,例如const POS={x:100,y:-500}。我想将位置转换为我边界内的正确lat/lng。其中lng 180为
x:4800
。然而,诀窍是,贴图是旋转的,我找不到获得正确lng/lat所需的正确旋转。你可以定义一个漂亮的函数,将值x从一个范围xMin..xMax映射到另一个范围yMin..yMax:

function remap(x, xMin, xMax, yMin, yMax) {
    return yMin + (yMax - yMin)*(x - xMin)/(xMax - xMin);
}
现在假设要将x值从-3200..4800范围映射到-180..180,并将其存储为变量
lng
,将y值从-4000..6000范围映射到-90..90,并将其存储为
lat

let lng = remap(x, -3200, 4800, -180, 180);
let lat = remap(y, -4000, 6000, -90, 90);

我做了类似的事情,但我的主要问题是旋转值以映射到地图上的正确位置。我可以从我的代码中获得lng/lat,该代码需要旋转一些值以匹配地图上的正确值。如果有帮助的话,我知道这些值应该在地图上的什么位置,这样计算所需的旋转就更容易了。你能给出更多关于这个旋转的细节吗?我有坐标,用你的函数转换它们会得到正确的lng,大约是-11.93159。然而,纬度是错误的。对于ur函数,它大约是-42.76,而实际上它应该是-32.2071。我想我需要对纬度进行某种旋转@编辑也我知道我的界限是正确的,如果这有帮助的话。你能告诉更多关于你需要应用的旋转吗?你到底需要知道什么?我不知道你需要什么信息,因为我自己也不知道我需要申请什么轮换。如果对您有帮助,我想将自定义平铺贴图转换为kibana。