Получение ошибки JSON throws: Неожиданный токен: - PullRequest
1 голос
/ 07 февраля 2012

Я получаю данные высоты из API Карт Google с помощью AJAX.

Я получаю обратно данные, которые мне нужны, как будто я смотрю на консоль в Chrome, вижу код состояния 200 и вижу данные на вкладке ответа. Но выдает «Uncaught SyntaxError: Неожиданный токен:», поэтому я не могу ничего отобразить из файла JSON.

Это мой код:

var theURL = 'http://maps.googleapis.com/maps/api/elevation/json?locations=' + longitude + ',' + latitude + '&sensor=false&callback=?';    
$.ajax({
        url: theURL,
        type: 'get',
        dataType: 'json',
        cache: false,
        crossDomain: true,
        success: function (data) {
            var theData = $.parseJSON(data);
            console.log(theData);
        }
    });

Прямой код здесь: http://map.colouringcode.com/

Вся помощь очень ценится.

Ответы [ 2 ]

0 голосов
/ 19 сентября 2013

Понимая, что этот вопрос устарел, я надеюсь, что это может помочь кому-то в будущем.Это было мое первое знакомство с javascript и особенно со всем этим JSON-материалом, и поэтому я сильно ударился головой о стол, пытаясь понять, что я делаю не так.

Вот мое решение, которое определяет местонахождение клиентов(в широте и lng), а затем использует API геокодирования Google для определения их местоположения в «удобочитаемом» формате.

function currentLocation() {
    navigator.geolocation.getCurrentPosition(foundLocation, errorLocation);

    function foundLocation(position) {
        var lat = position.coords.latitude;
        var lng = position.coords.longitude;

        //This is where the geocoding starts
        var locationURL= "http://maps.googleapis.com/maps/api/geocode/json?latlng="
            + lat + "," + lng + "&sensor=false&callback=myLocation"

        //This line allows us to get the return object in a JSON
        //instead of a JSONP object and therefore solving our problem
        $.getJSON(locationURL, myLocation);
    }

    function errorLocation() {
        alert("Error finding your location.");
    }
}

function myLocation(locationReturned) {
    var town = locationReturned.results[0].address_components[1].short_name;
    var state = locationReturned.results[0].address_components[4].short_name;
    console.log(town, state);
}
0 голосов
/ 07 февраля 2012

API Карт Google не поддерживает прямые запросы JSONP.

Вместо этого вам необходимо использовать Javascript API .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...