gogowq
@gogowq
Ozh domosh acha ozh

Как в Leaflet map задать другую иконку активному маркеру?

У меня есть 2 иконки маркера greenIcon и redIcon,как сделать чтоб когда маркер активен,применялась redIcon. Маркеров на карте у меня несколько. Т.е нужно чтоб менялась иконка активного маркера и при выборе другого маркера,предыдущая становилась в исходное состояние т.е обратно отображалась greenIcon,если выбран другой маркер
// Latitude, longitude, Zoom Level
        var map = L.map('map__riot').setView([0,0], 1.7);


        // TileLayer
        L.tileLayer('https://server.arcgisonline.com/ArcGIS/rest/services/World_Topo_Map/MapServer/tile/{z}/{y}/{x}.png', {
            attribution: '',
            minZoom: 0,
            maxZoom: 20,
            ext: 'png'
        }).addTo(map);

var greenIcon = L.icon({
    iconUrl: 'map-pin@2x.png',
    iconSize:     [64, 64], // size of the icon
          iconAnchor: [32, 64],
                        popupAnchor: [0, -25]
});

var redIcon = L.icon({
    iconUrl: 'map-pin-dark@2x.png',
    iconSize:     [64, 64], // size of the icon
          iconAnchor: [32, 64],
                        popupAnchor: [0, -25]
});


for (const site of sites) {
        marker = new L.marker([site.lat, site.lng],{icon: greenIcon})
        //.bindPopup('<p class="popup__header">'+ site.address + '</p><p class="popup__description">' + site.description + '</p>' )
        .on('click', function (e) {
        document.getElementById('titler').textContent = site.address 
        })
        .addTo(map);

    }
  • Вопрос задан
  • 192 просмотра
Пригласить эксперта
Ответы на вопрос 1
freeExec
@freeExec
Участник OpenStreetMap
При смене активности, один маркер удалять, другой в его место ставить.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы