В коде, доступном здесь:
https://gist.github.com/1338861
если бы я включил код функции function attachEvent (marker) {...}
в тело функции
функция addResults (json) {...}
как это:
function addResults(json) {
if (json.results && json.results.length) {
for (var i = 0, placemark; placemark = json.results[i]; i++) {
var pos = new google.maps.LatLng(parseFloat(placemark.point.latitude, 10),
parseFloat(placemark.point.longitude, 10));
var marker = new google.maps.Marker({
map: map,
title : placemark.name,
position: pos
});
google.maps.event.addListener(marker, 'click', function(){
var text = marker.getTitle();
showInContentWindow(text);
profileMarkers.push(marker);
}
}
}
в результате при нажатии на любой маркер с карты в окне содержимого будет отображаться только информационная характеристика последнего маркера, добавленного в массив profileMarkers (вместо информации о клике по маркеру). *
Мой вопрос: почему прослушиватель onclick для маркера должен быть присоединен в другой функции (в этом контексте attachEvent)?