2013-06-15 3 views
1

Я хочу, чтобы получить широту и долготу из возвращающегося формате JSON, но он возвращает мне неопределенныеgetJSON возвращает неопределенное

это мой код до сих пор, формат JSON, пожалуйста, посмотри на URL, что именно возвращает

$.ajax({ 
    type: 'GET', 
    url: "http://maps.googleapis.com/maps/api/geocode/json?address=Garibaldi,Prishtina&sensor=true", 
    dataType: 'json', 
    success: function (data) { 

     $.each(data, function() { 
      $.each(this, function (key, value) { 
       switch (key) { 

        case "lat": 
         alert(value) // access to this node works fine      
         break; 

        default: 
         alert(value[0].geometry.location.lat) // this is undefined 
         break; 
       } 
      }); 
     }); 
    } 
}); 

Кто-нибудь знает, как это решить?

+0

Вы должны добавить ожидаемую структуру данных вместо обращения к URL-адресу. – mor

+0

что вы получаете, когда вы console.log (данные); внутри функции успеха? – KyleK

+1

Почему 'значение [0]'? разве это не значение 'value.geometry ...'? –

ответ

3

Почему не только ...

$.ajax({ 
    type: 'GET', 
    url: "http://maps.googleapis.com/maps/api/geocode/json?address=Garibaldi,Prishtina&sensor=true", 
    dataType: 'json', 
    success: function (data) { 
     var loc = data.results[0].geometry.location; 
     alert(loc.lat); 
     alert(loc.lng); 
     } 
    }); 
+0

он не работает таким образом: S – Lulzim

+0

Упс, мой плохой ..... попробуй еще раз :) – KyleK

+0

теперь он работает: D – Lulzim

2

Вы должны использовать value.geometry... вместо value[0]. Индексы не используются внутри петли $.each.

Смежные вопросы