【发布时间】:2018-09-04 15:13:40
【问题描述】:
我创建了一个包含几个标记的地图,当用户单击标记时,它将打开一个弹出页面。当我有 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));
})();
};
【问题讨论】:
标签: javascript html google-maps loops for-loop