#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);