Вот как Google рекомендует добавлять на карту множество маркеров с уникальными значками для каждого элемента:
var icons = {
parking: {
icon: iconBase + 'parking_lot_maps.png'
}
};
var features = [
{
position: new google.maps.LatLng(-33.91721, 151.22630),
type: 'info'
}
];
for (var i = 0; i < features.length; i++) {
var marker = new google.maps.Marker({
position: features[i].position,
icon: icons[features[i].type].icon,
map: map
});
};
}
Ради повторного выполнения моего кода. Я пытаюсь реализовать это по-своему с моим текущим массивом PHP. Это выглядит так:
["TITLE", "LAT", "LNG", "Z-INDEX", "CATEGORY"]
При нацеливании на позиции в моем массиве, чтобы установить данные для создания маркера, это выглядит следующим образом:
function setMarkers(markers) {
deleteMarkers();
var iconBase =
'https://developers.google.com/maps/documentation/javascript/examples/full/images/';
var icons = {
Parking: {
icon: iconBase + 'parking_lot_maps.png'
}
};
if (markers){
for (var i = 0; i < markers.length; i++) {
var w = markers[i];
var marker = new google.maps.Marker({
position: {lat: parseFloat(w[1]), lng: parseFloat(w[2])},
map: map,
icon: icons[w[4]].icon,
title: w[0],
zIndex: parseFloat(w[3])
});
}
}
}
Все работает идеально, пока я не доберусь до в строке ICON:
я не могу указать на часть категории в массиве, и она должна найти icon:
внутри значков var. Я либо получаю сообщение об ошибке «не могу прочитать свойство 4 неопределенного», либо говорится, что функция не определена. Любые идеи о том, что я могу сделать без перекодирования? спасибо !!