Невозможно получить данные из JSON

0

Я использую эту ссылку JSON для доступа к данным, теперь я хочу получить доступ к названию места, если я наведите указатель мыши на конкретный маркер!

$.getJSON('http://anyorigin.com/get?url=https%3A//maps.googleapis.com/maps/api/place/nearbysearch/json%3Flocation%3D-33.8670522%2C151.1957362%26radius%3D5000%26types%3Dfood%26name%3Dharbour%26sensor%3Dfalse%26key%3DAIzaSyAYMqH361IS1S9SA4atjBPCDlLpJ4mr6Sw&callback=?', function (data) {
    var responseData = data.contents;
});

events: {
    mouseover: function (marker, event, context) {
        console.log(responseData.results[this].name)
    }
},
  • 3
    Объявите свой глобальный «var responseData» в вашем скрипте и попробуйте
  • 0
    да, я все еще не работал :(! если я дал responseData.results [0] .name, то я получаю свои результаты! что-то не так с передачей данных в массиве результатов
Показать ещё 3 комментария
Теги:
google-maps-api-3
jquery-gmap3

3 ответа

0

Здесь в вашем коде this относится к событию moverover. Таким образом, проблема заключается также в том, что responseData является глобальной переменной.

Обновления:

Вот простой подход

var responseData = data.contents;
    var res = responseData.results;
    for (var i = 0; i < res.length; i++) {
        console.log(res[i].name)
    }

JSFiddle

  • 0
    Не могли бы вы помочь мне, как использовать это в моем коде! т.е. в этом сегменте console.log (responseData.results [this] .name)
  • 0
    @ user2889942 проверьте эту скрипку jsfiddle.net/Gmr4p
Показать ещё 5 комментариев
0

Предполагая, что возвращаемый тип данных ответа является чем-то действительным, я сомневаюсь в использовании результатов [это] приведет к когерентным данным.

Вы должны проверить, какие answerData.results содержат, чтобы увидеть, какие данные вы хотите отобразить (добавьте "отладчик" и проверьте responseData.results).

var responseData;
$.getJSON('http://...', function (data) 
{
    responseData = data.contents;
});

events: 
{
    mouseover: function (marker, event, context) 
    {
        debugger; // remove after inspect responseData and extract the worthy data
        console.log(responseData.results)
    }
},
0

здесь вы можете использовать цикл, подобный этому

      $.each(responseData , function (index, value) {
            console.log(value.name)
      });
  • 0
    Все еще не работает

Ещё вопросы

Сообщество Overcoder
Наверх
Меню