我知道这是一个常见问题,我是一个JS新手,但即使在StackOverflow上搜索了几个小时后,我仍然完全被卡住了。
我正在使用谷歌地图API,并希望通过与ID关联来跟踪我的标记。所以我有全局变量var pinArray = new Object()
,并像这样添加标记:
function CreateMarkers (data){
data.forEach(function(store) {
<!-- CREATE MAP MARKER -->
var mapLat = store.latitude;
var mapLong = store.longitude;
var mapLatLng = { lat: parseFloat(mapLat), lng: parseFloat(mapLong) };
var marker = new google.maps.Marker({
position: mapLatLng,
title: store.name,
icon: {
path: google.maps.SymbolPath.CIRCLE,
scale: 8.5,
fillColor: 'Green',
fillOpacity: 0.8,
strokeWeight: 0.6,
},
zIndex: 0
});
cluster.addMarker(marker);
var key = store.Id;
pinArray['${key}'] = marker;
})
}
cluster
是 var cluster = new MarkerClusterer(map);
。
当我尝试在函数外部使用 console.log(pinArray);
时,我得到一个空对象:Object {}
。我也尝试不使用字符串插值,如 pinArray[store.Id] = marker;
,但是遇到了同样的问题。
我需要保持标记和 ID 之间的全局关联,因为在其他函数中我需要按照它们的 ID 引用和更新标记。或者至少,我认为我需要这样做,我也愿意采用其他方法。非常感谢您的帮助;提前致谢。
<!-- CREATE MAP MARKER -->
是 HTML 中的注释语法 - JavaScript 的注释是//像这样
- tymeJV