Я использую JQuery, чтобы получить JSON из следующего URL:JQuery для анализа данных и получить лат и LNG и вставить в Google Maps`
http://api.chartbeat.com/live/geo/v3/?apikey=fakekeytoshowtheurl&host=example.com
Вот пример JSON я получаю:
"lat_lngs": [[25, -80, 9], [26, -80, 6], [27, -80, 1], [29, -98, 2], [29, -95, 7], [30, -97, 3], [33, -117, 6], [33, -112, 25], [33, -111, 33], [34, -112, 1], [34, -111, 1], [36, -109, 1], [38, -97, 2], [40, -73, 1], [42, -78, 2]]
Я пытаюсь использовать jQuery и получить каждый из lat_lngs и запустить функцию.
Вот код, который у меня есть, который не работает.
function addMarker(latitude, longitude) {
marker = new google.maps.Marker({
position: new google.maps.LatLng(latitude, longitude),
map: map
});
}
$.get('http://api.chartbeat.com/live/geo/v3/?apikey=fakekeytoshowtheurl&host=example.com', function(data) {
$.each(data['lat_lngs'], function() {
var latlng = data['lat_lngs'].split(',');
addMarker(latlng[0], latlng[1]);
})
});
Это не работает, я получаю сообщение об ошибке сказав объект [объект массива] не имеет какого-либо метода «расколоть», и независимо от того, что я пытался, я не могу получить что-нибудь работать. Я просто хочу захватить первые два числа из всех lat_lngs, которые перечислены, и запустить функцию addMarker (lat, long).
У кого-нибудь есть идеи?
Зачем вам использовать .split? ваш код не имеет большого смысла. Вы все еще работаете с 'data' внутри каждой, а не с каждой записью в данных, которые вы повторяете. –
Проблема в том, что каждый из lat_lngs является его собственной сущностью, поэтому, например, я сделал alert lat_lngs [0], чтобы посмотреть, что я получу, и я получил первый полный набор чисел. –
Справа. Но .split - это разделение строки на массив. 'data ['lat_lngs']' уже является массивом. –