2014-09-26 3 views
1

Привет, я хочу сделать обратную геокодирование из долготы и lontitude google map api, чтобы сделать это, я должен добавить LonLat к ссылке, чтобы получить структуру JSON, эту ссылку JSON-файла http://maps.googleapis.com/maps/api/geocode/json?latlng=34.0235202,-6.8317697&sensor=true по этой ссылке я хочу прочитать атрибутЧтение атрибутов внешней ссылки json с javascript

formatted_address

это, как я получаю файл JSON

$.getJSON(' http://maps.googleapis.com/maps/api/geocode/json?latlng= '+loca.toString()+'&sensor=true', function(data) { alert(data.results.formatted_address[0]); }); }

но он показывает мне эту ошибку неперехваченным TypeError: не удается прочитать свойство «0» неопределенной

и спасибо за помощь мне

+1

является '' loca' или local'? – Chris

ответ

0

Ответ от API выглядит следующим образом:

{ 
    results: [{ 
    ... 
    formatted_address: "39 Tirle Bank Way, Tewkesbury, Gloucestershire GL20 8ES, UK" 
    ... 
    }, 
    ... 
    ], 
    status: "OK" 
} 

Вы пытаетесь получить доступ к formatted_address как массив с [0], когда это на самом деле строка. Это results, который представляет собой массив. Это должно работать для вас, если вы заботитесь только о первом результате:

$.getJSON('http://maps.googleapis.com/maps/api/geocode/json?latlng='+loca.toString()+'&sensor=true', function(data) { 
    if (data.status === 'OK') { 
    alert(data.results[0].formatted_address); 
    } 
    else { 
    alert('Error! ' + data.status) 
    } 
}); 
0
$.getJSON('http://maps.googleapis.com/maps/api/geocode/json?latlng=34.0235202,-6.8317697&sensor=true', 
function(data) { alert(data.results[0].formatted_address); }); 
+2

Не могли бы вы дать пояснения? Кодовые ответы не так полезны. –

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