Я использую эту ссылку 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)
}
},
Здесь в вашем коде this
относится к событию moverover
. Таким образом, проблема заключается также в том, что responseData
является глобальной переменной.
Обновления:
Вот простой подход
var responseData = data.contents;
var res = responseData.results;
for (var i = 0; i < res.length; i++) {
console.log(res[i].name)
}
Предполагая, что возвращаемый тип данных ответа является чем-то действительным, я сомневаюсь в использовании результатов [это] приведет к когерентным данным.
Вы должны проверить, какие 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)
}
},
здесь вы можете использовать цикл, подобный этому
$.each(responseData , function (index, value) {
console.log(value.name)
});