В настоящее время я пытаюсь использовать API Карт Google для отображения маркеров по значениям долготы и широты, хранящимся в объекте tweet_object. Вот мой код:API Карт Google: ошибка при настройке значений LatLng
for (i = 0; i < tweet_object.length; i ++) {
console.log("Latitude for " + i + ": " + tweet_object[i].latitude);
console.log("Longitude for " + i + ": " + tweet_object[i].longitude);
if (tweet_object[i].latitude !== 0 && tweet_object[i].longitude !== 0) {
var myLatLng = {lat: Math.round(tweet_object[i].latitude), long: Math.round(tweet_object[i].longitude)};
//var myLatLng = {lat: parseFloat(tweet_object[i].latitude), long: parseFloat(tweet_object[i].longitude)};
console.log("LatLng: " + myLatLng.lat + ", " + myLatLng.long);
var marker = new google.maps.Marker({
map: map,
position: myLatLng
});
};
console.log("Number: " + i);
}
Я получаю следующий вывод:
Широта для 3: -54.4333 (от линии 2)
долготу 3: 3,4000 (от линии 3)
LatLng: -54, 3 (от линии 7)
InvalidValueError: SetPosition: не LatLng или LatLngLiteral: в свойстве LNG: не число
Широта/долготы входят как значения с четырьмя десятичными точками, через tweet_object [i] .latitude и tweet_object [i]. долготы. Я пробовал использовать Math.round и parseFloat (а также просто ввести tweet_object [i] ._____), чтобы заставить их работать, но все бросает ту же ошибку, что lng не является числом. Спасибо всем, кто может предположить, почему это происходит.
Стыдно, сколько времени я потратил, пытаясь отладки это только для одной буквы опечатки а - спасибо за вашу помощь, это работает отлично сейчас. – Mettler
Мне это часто случается, и поэтому я всегда проверяю буквальный формат json ... если мой ответ правильный, отметьте его как принятый – scaisEdge