const locations = [
{ latlng: [55.692222,37.532778] },
{ latlng: [55.743889,37.4975] },
{ latlng: [55.793611,37.5875] },
{ latlng: [55.73852,37.61734] },
{ latlng: [55.7408,37.7469] },
];
const iconDefault = 'https://icons.iconarchive.com/icons/icons-land/vista-map-markers/32/Map-Marker-Marker-Outside-Pink-icon.png';
const iconActive = 'https://icons.iconarchive.com/icons/icons-land/vista-map-markers/32/Map-Marker-Marker-Outside-Chartreuse-icon.png';
function onClick() {
locations.forEach(n => n.marker.setIcon(n.marker !== this ? iconDefault : iconActive));
}
google.maps.event.addDomListener(window, 'load', function() {
const map = new google.maps.Map(document.querySelector('#map'), {
zoom: 11,
center: new google.maps.LatLng(55.74, 37.58),
});
locations.forEach(n => {
n.marker = new google.maps.Marker({
position: new google.maps.LatLng(...n.latlng),
map: map,
icon: iconDefault
});
n.marker.addListener('click', onClick);
});
});
интересуют только кастомные маркеры...
...и блоки с описанием этих маркеров
<div class="map" id="map"></div>
<script src="https://maps.googleapis.com/maps/api/js"></script>
html, body {
padding: 0;
margin: 0;
}
.map {
position: absolute;
width: 100%;
height: 100%;
}
let iconIndex = -1;
const icons = [
'http://icons.iconarchive.com/icons/icons-land/vista-map-markers/64/Map-Marker-Marker-Outside-Chartreuse-icon.png',
'http://icons.iconarchive.com/icons/icons-land/vista-map-markers/64/Map-Marker-Marker-Outside-Azure-icon.png',
'http://icons.iconarchive.com/icons/icons-land/vista-map-markers/64/Map-Marker-Marker-Outside-Pink-icon.png'
];
google.maps.event.addDomListener(window, 'load', function() {
const latlng = { lat: -25.363, lng: 131.044 };
const map = new google.maps.Map(document.getElementById('map'), {
zoom: 4,
center: latlng,
});
const marker = new google.maps.Marker({
position: latlng,
map,
});
google.maps.event.addListener(marker, 'click', function() {
iconIndex = (iconIndex + 1) % icons.length;
marker.setIcon(icons[iconIndex]);
});
});
Копипаста кода из документации результата не даёт