Как изменить цвет маркера в кластере листовок?

#javascript #css #leaflet #maps #marker

Вопрос:

Я использую openstreetmap и lealfet. Я хочу изменить цвет маркера в кластере. То есть существует массив координат.

 var addressPoints = [ [62.26763, 74.47733, "CAR", 1], ];

 

Я бы хотел, чтобы цвет маркера изменился: «1» предположительно зеленый, а «0» синий. Я также нашел аналогичный вопрос здесь, где я использовал ответ в форме.

Но карта ломается. Что описывает этот фрагмент? То есть, в чем его польза.

 var marker = L.marker(new L.LatLng(a[0], a[1]), {icon: L.map.marker.icon({'marker-symbol': 'car', 'marker-color': '#00FFFF'}),title: title});

 

Я был бы очень признателен за подсказку.

Ответ №1:

Этот

         var tiles = L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', {
                maxZoom: 18,
                attribution: 'amp;copy; <a href="https://www.openstreetmap.org/copyright"></a>'
            }),
            latlng = L.latLng(63.63, 100.55);

        var map = L.map('map', {center: latlng, zoom: 3, layers: [tiles]});

        var markers = L.markerClusterGroup();
        
        for (var i = 0; i < addressPoints.length; i  ) {
            
            var a = addressPoints[i];
            
            var title = a[2];
            
            if(a[3]==1){
            
            var marker = L.marker(new L.LatLng(a[0], a[1]), {icon: L.map.marker.icon({'marker-symbol': 'car', 'marker-color': '#00FFFF'}),title: title});
        }
        else{
        
            var marker = L.marker(new L.LatLng(a[0], a[1]), {icon: L.map.marker.icon({'marker-symbol': 'car', 'marker-color': '#ff0000'}),title: title});
        }
            marker.bindPopup(title);
            markers.addLayer(marker);
        }

        map.addLayer(markers);