Я создал карту, содержащую пару маркеров, и когда пользователь нажимает на маркеры, он открывает всплывающую страницу. Это будет нормально работать, когда у меня будет 5 маркеров, но сейчас я должен внедрить ~ 400 маркеров. Поэтому я хотел бы использовать цикл for для этого. Но почему-то маркеры не появятся на карте. Это не даст никаких ошибок.
Вот мой код:
let allMarkerOpts = [
{
finalLat: '35.6695585',
finalLng: '139.7611172',
iconUrl: 'hotelMarker.png',
locationName: 'openGinza();'
},
{
finalLat: '35.6961571',
finalLng: '139.7547658',
iconUrl: 'restaurantMarker.png',
locationName: 'openKanda();'
},
{
finalLat: '35.7058408',
finalLng: '139.7407026',
iconUrl: 'hotelMarker.png',
locationName: 'openDome();'
},
{
finalLat: '35.7012901',
finalLng: '139.7368178',
iconUrl: 'coffeehouseMarker.png',
locationName: 'openKagurazaka();'
},
];
for ( var i; i < 5; i++ ) {
(function(){
let markerOptions = {
map: map,
position: {
lat: allMarkerOpts[i].finalLat,
lng: allMarkerOpts[i].finalLng
}
};
markerOptions.icon = {
url: "https://sitename.com/demo/img/destinations/markers/" + allMarkerOpts[i].iconUrl,
scaledSize: new google.maps.Size(
52,
57),
size: new google.maps.Size(
52,
57),
anchor: new google.maps.Point(
26,
57)
};
let marker = new google.maps.Marker(markerOptions);
google.maps.event.addListener(marker, 'click', (function(marker) {
return function() {
allMarkerOpts[i].locationName
}
})(marker));
})();
};