2015-07-14 12 views
7

Pracuję nad aplikacją, w której muszę pobrać elewację dla niektórych punktów za pomocą interfejsu API Google Elevation i utknąłem w niesławnym problemie CORS.Jak obejść problem CORS w interfejsie API Google?

var elevationUrl = 'https://maps.googleapis.com/maps/api/elevation/json?locations=39.7391536,-104.9847034&key=AIzaSyAgXFgUVR4Nia7pegX_0hcz0aNevCKAa58'; 

$.ajax({ 
    url: elevationUrl, 
    type: 'GET', 
    // dataType: 'JSONP', 
    success: function(){ 
    } 
}); 

Na początek próbowałem po prostu zapytać o ustalony punkt. Kiedy to zrobię, otrzymuję alert CORS w konsoli przeglądarki.

Po wypróbowaniu dataType: 'JSONP', działa i otrzymuję odpowiedź z interfejsu API, ale moja przeglądarka skarży się, że odpowiedź zawiera błąd w odpowiedzi, który nie jest. Zasadniczo próbuję parsować JSON jako JSONP, dlatego dostaję błąd składniowy w odpowiedzi.

Co to oznacza? Jak przesłać zapytanie do interfejsu API Elevation przez wywołania AJAX?

+0

"Moja przeglądarka skarży się, że odpowiedź zawiera błąd w odpowiedzi" - Na co dokładnie narzeka? Zacytuj komunikat o błędzie, nie opisuj go po prostu w sposób niejasny. – Quentin

+1

[Przeczytaj dokumentację] (https://developers.google.com/maps/documentation/elevation/), która ma masywne okienko u góry skierowane w stronę wersji interfejsu API zaprojektowanej dla JS po stronie klienta. – Quentin

+0

Proszę odnieść się do mojej odpowiedzi dotyczącej tamtejszego problemu CORS: [Jak obejść kwestię CORS?] (Http://stackoverflow.com/questions/20433655/no-access-control-allow-origin-header-is-present- on-the-requested-resource-lub/30014915 # 30014915) –

Odpowiedz