Gavps LatLng не читает мои данные

Все должно быть хорошо, но это не так. Нет ошибок консоли, ничего. Результат моего объекта отображается правильно в консоли, и мой маркер настроен правильно, если я вручную ввожу координаты.

Однако если я передам данные в LatLng с моим объектом, результат будет нулевым.

Это в консоли возвращает «46.00,45.00»:

var data = jQuery.parseJSON(data);
console.log(data[0].coords);

и это устанавливает мой маркер для карт Google:

var latLng = new google.maps.LatLng(46.00,45.00);
var marker = new google.maps.Marker({
position: latLng,
map: map
});

НО! Если я напишу это так, ничего не произойдет:

var data = jQuery.parseJSON(data);

var latLng = new google.maps.LatLng((data[0].coords));
var marker = new google.maps.Marker({
position: latLng,
map: map
});

1

Решение

Вы просто передаете один аргумент data[0].coords в виде строки, когда вам нужно передать 2 аргумента в виде чисел, как указано в документация:

LatLng(lat:number, lng:number, noWrap?:boolean)

Вам нужно будет разделить coords переменная перед:

var coordinates = data[0].coords.split(",");
var latLng = new google.maps.LatLng(coordinates[0], coordinates[1]);
5

Другие решения

Вы проходите data.coords[0]возражать полностью к новому google.maps.LatLng

Вы должны разделить lat и lon и передать его, как показано ниже.

var data = jQuery.parseJSON(data);

var latLng = new google.maps.LatLng(data[0].coords[0],data[0].coords[1]);
var marker = new google.maps.Marker({
position: latLng,
map: map
});
1

По вопросам рекламы [email protected]