Ich habe eine Fehlermeldung "Kann nicht lesen Property" undefined "beim Versuch, ein InfoWindow in Google Maps API zu öffnen. Aber wenn ich rufe infoWindows [i] .setMap (Karte) außerhalb von 'Marker [i] .addListener' alles ist in Ordnung. Hier ist mein CodeFehler Beim Öffnen von InfoWindow (google maps api)
var devices = new Array();
var marker = new Array();
var infoWindows = new Array();
devices = <?= json_encode($devices); ?>
function initMap() {
map = new google.maps.Map(document.getElementById('map_canvas'), {
center: {lat: 49.062415, lng: 31.704558},
zoom: 6,
});
initMarkers();
}
function initMarkers(){
for(var i=0; i< devices.length; i++){
marker[i] = new google.maps.Marker({
position: {lat: parseFloat(devices[i]['lat']), lng:
parseFloat(devices[i]['lon'])
},
map: map,
icon: mIcon,
});
infoWindows[i] = new google.maps.InfoWindow({content: devices[i]['infoData']});
marker[i].setMap(map);
marker[i].addListener('click', function() {
infoWindows[i].open(map, marker[i]);
});
}
}
Bereich schließen Problem - das 'i', das Sie in' Marker [i] 'verwenden bezieht sich nicht auf das, was Sie möchten es nicht mehr getan hat. –