我正在将游戏坐标转换为地图坐标,我具有自定义的图块设置和地图。
[我在传单地图上显示了玩家的车辆(与地图框相同的问题,x轴的坐标转换正确(在视觉上),而y轴(纬度)不正确。
我正在尝试转换在X上从3000到-3000在Y上从3000到-3000的游戏坐标我相信地图坐标的范围是X-经度上的180至-180和Y-纬度上的85到-85
当前,我正在使用此公式来计算其在地图上的坐标,但是我无法弄清楚我在做什么错。
我将
u
设为动态,因此我可以轻松对其进行测试..注意,返回值将x和y颠倒了,因为这就是传单的样子...
function getLatLngFromPos(x, y, u = 85) {
height = 3000; // of the game map
width = 3000; // of the game map
return [(y / height) * u, (x / width) * 180];
}
getLatLngFromPos(1482.47 , -1731.9)
-> [-49.0705,88.9482]应该是:〜[-71.519235,88.813477]
getLatLngFromPos(1378.4,-1876.25)
-> [-53.16041666666666,82.70400000000001]应该是:〜[-73.758964、81.958008]
如果您需要磁贴,这是该代码http://145.239.116.170/app-assets/images/maptiles/sanandreas.{z}.{x}.{y}.png
注意:MaxZoom为'4'
汽车图标应该移至箭头,并且还有其他信息,例如地图的中心。 (也正在我要删除的X轴上重复)
ScreenShot:(https://i.ibb.co/HNHgRLC/Shared-Screenshot.jpg)
我认为这些地图上的Y轴朝向边缘有某种加速度...这是由于默认的传单投影也有(https://github.com/ikkentim/SanMap/blob/master/js_src/js/SanMap.js)的Google Maps API的实现,但是Google Maps通过收取费用而成为一种骗子...
我现在假设我将不得不像SanMap实现中那样创建某种投影,如何为Mapbox或Leaflet创建我自己的投影?
您设法找到一种方法吗?