Я пытаюсь передать больше информации в InfoWindow карты Google Maps, но почему-то это не работает. Должно быть, это просто глупость, но я потратил на это часы и не могу ее найти.
Мои данные хранятся как:
res[i].id
res[i].name
res[i].date
и т.д.
А потом я вывожу это с:
var marker = new google.maps.Marker ({
позиция: новая
google.maps.LatLng(res[i].position.lat,res[i].position.long),
title:'',
orderid:res[i].id,
map:map,
icon: icon,
});
google.maps.event.addListener(marker, "click", (function(id) {
return function() {
var contentString = '<div><b>Order ID:</b> '+id+'
<br><b>Name:</b> '+res[i].name+'</div>'
<br><b>Date:</b> '+res[i].date+'</div>';
infowindow.setContent(contentString);
infowindow.open(map, this);
}
})(res[i].id));
id
выводит нормально, когда я использую id
, но я не знаю, как передать другие переменные .. По какой-то причине имя и дата всегда показывают Cannot read property 'XXX' of undefined
Что я делаю не так? Обратите внимание, что на этой карте может быть много маркеров, она находится в цикле for
.