Для конвертации координат между Google Maps (WGS84) и 2GIS (Pseudo Mercator) вы можете использовать следующий код на JavaScript:
1. Конвертация Google Maps координат в 2GIS координаты:
```javascript
function googleTo2GIS(latitude, longitude) {
const x = longitude * 111319.49079327358;
const y = Math.log(Math.tan((90 + latitude) * Math.PI / 360)) / (Math.PI / 180);
const y = y * 111319.49079327358;
return { x, y };
}
```
Пример использования:
```javascript
const googleLatitude = 37.7749;
const googleLongitude = -122.4194;
const convertedCoordinates = googleTo2GIS(googleLatitude, googleLongitude);
console.log(convertedCoordinates.x, convertedCoordinates.y);
```
2. Конвертация 2GIS координат в Google Maps координаты:
```javascript
function d2GSToGoogle(x, y) {
const longitude = x / 111319.49079327358;
const latitude = (Math.atan(Math.exp(y / 111319.49079327358 * Math.PI / 180)) * 360 / Math.PI) - 90;
return { latitude, longitude };
}
```
Пример использования:
```javascript
const d2GISX = 12949755;
const d2GISY = 5503748;
const convertedCoordinates = d2GSToGoogle(d2GISX, d2GISY);
console.log(convertedCoordinates.latitude, convertedCoordinates.longitude);
```
Обратите внимание, что эти функции будут работать только с заданными форматами "google-south" и "2gis-south". Если у вас есть другие форматы координат, вам потребуется их предварительная обработка.