рони,
я не шибко силен в js по этому могу скинуть весь код карты и Вы поможете мне адаптировать Вашу наработку.
Теоретически мы в цикле получаем айдишник в строке 25
а потом уже вешаем событие.. хотя если не работает, значит это в корне не так, посему прилагаю полный js код
Буду безмерно благодарен Вам, если вы мне поможете!)
//<![CDATA[
var customIcons = {
restaurant: {icon: '../assets/img/map/pointer_blue.png'},
bar: {icon: '../assets/img/map/pointer_favourited.png'}};
var options = {imagePath: 'https://developers.google.com/maps/documentation/javascript/examples/markerclusterer/m'};
var icon_balun='../assets/img/map/pointer_green.png';
function load() {
var map = new google.maps.Map(document.getElementById("map"), {
center: {lat: 47.6145, lng: -122.3418},
zoom: 10,
mapTypeId: 'roadmap',
disableDefaultUI: 'true'
});
var infoWindow = new google.maps.InfoWindow;
// ---------------------
// ---------------------Try HTML5 geolocation.
// ---------------------
navigator.geolocation.getCurrentPosition(function(position) {
var pos = {
lat: position.coords.latitude,
lng: position.coords.longitude
};
map.setCenter(pos);
});
// ---------------------
//--------------------end of geolocation
// ---------------------
// Change this depending on the name of your PHP file
downloadUrl("system/phpsqlajax_genxml.php", function(data) {
var xml = data.responseXML;
var markerss = [];
var markers = xml.documentElement.getElementsByTagName("marker");
for (var i = 0; i < markers.length; i++) {
var name = markers[i].getAttribute("name");
var address = markers[i].getAttribute("address");
var type_mark= markers[i].getAttribute("type_mark");
var point = new google.maps.LatLng(
parseFloat(markers[i].getAttribute("lat")),
parseFloat(markers[i].getAttribute("lng")));
//custom infowindow creating here
var html = "<img scr=" + icon_balun +"><b>" + name + "</b> <br/>" + address + "<form><button>follow</button></form>";
var icon = customIcons[type_mark] || {};
var marker = new google.maps.Marker({
map: map,
position: point,
icon: icon.icon});
markerss.push(marker);
bindInfoWindow(marker, map, infoWindow, html);
}
var markerCluster = new MarkerClusterer(map, markerss,options);
});
}
function bindInfoWindow(marker, map, infoWindow, html) {
google.maps.event.addListener(marker, 'click', function() {
infoWindow.setContent(html);
infoWindow.open(map, marker);
});
}
function downloadUrl(url, callback) {
var request = window.ActiveXObject ?
new ActiveXObject('Microsoft.XMLHTTP') :
new XMLHttpRequest;
request.onreadystatechange = function() {
if (request.readyState == 4) {
request.onreadystatechange = doNothing;
callback(request, request.status);
}
};
request.open('GET', url, true);
request.send(null);
}
function doNothing() {}
//]]>