Я знаю, что это распространенный вопрос, и я новичок в JS, но я полностью зациклен даже после поиска в StackOverflow в течение нескольких часов.Добавление свойств в глобальные объекты
Я использую API Карт Google и хочу отслеживать мои маркеры по ассоциации с идентификатором. Так что я 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;
, но получаю ту же проблему.
Мне нужно сохранить эту глобальную связь между выводами и идентификаторами, потому что мне нужно ссылаться и обновлять маркеры по их идентификатору в других функциях. Или, по крайней мере, я думаю, что знаю, я открыт для других способов сделать это. Помощь очень ценится; заранее спасибо.
Просто FYI - '' синтаксис для комментария в HTML - JavaScript комментарии '// как this' – tymeJV
@tymeJV Ой, спасибо. Я хотел вернуться и изменить их. – Mason