Я делаю Javascript приложение, которое требует перемещения определенного элемента на карте реального мира в кадрах.
Для каждого кадра у меня есть следующие позиции по широте и долготе для элемента, например, для кадра 0:
- Широта: 49.011213
- Долгота: 8.422885
Для кадр 1:
- широта: 49.01121
- долгота: 8.422887
Кадр (кадр 0) должен быть точкой (0,0), и я хочу, чтобы следующие из них были преобразованы в координаты XY как хорошо.
В основном мне нужен скрипт Javascript, который получает широту и долготу кадра и возвращает позицию (x, y) для этого кадра (по отношению к кадру 0 с позицией (0,0)) .
Я пробовал следующее, но оно не работает:
function convertSphericalToCartesian(latitude, longitude)
{
// Convert from Degrees to Radians
let latRad = latitude * (Math.PI)/180;
let lonRad = longitude * (Math.PI)/180;
let earthRadius = 6367; // Radius in km
let posX = earthRadius * Math.cos(latRad) * Math.cos(lonRad);
let posY = earthRadius * Math.cos(latRad) * Math.sin(lonRad);
return {x: posX, y: posY};
}
Знаете ли вы лучшую формулу для этого? Большое спасибо.