2016-09-23 6 views
0

Вот мой код, чтобы добавить маркер на карте:Как изменить цвет маркера

var marker = {'depart':null, 'arrivee':null}; 
var DEPART = "depart"; 
var ARRIVEE = "arrivee"; 
function addMarkerIti(statut, data, countMarker) { 
     if (statut === "") 
      statut = DEPART; 
     var link = '<button type="submit" onclick="removeEtape('+ (statut === DEPART ? 1 : statut === ARRIVEE ? 2 : countRemoveMarker) + ');" class="btn btn-danger btn-xs btn-block btn-popup">Supprimer ce marker</button>'; 
     var mm = L.marker([data.coordonnee[0], data.coordonnee[1]], statut === DEPART ? {icon: blueIcon} : statut === ARRIVEE ? {icon: greenIcon} : {icon: yellowIcon}) 
     .addTo(lgMarkers).bindPopup((data.rue != "" ? "<strong>Adresse : </strong>" + (data.numero != "" ? data.numero + " " : "") + data.rue + "</br>" : "") 
       + (data.quartier != "" ? "<strong>Quartier : </strong>" + data.quartier + "</br>" : "") 
       + (data.cp != "" ? "<strong>Code Postal : </strong>" + data.cp + "</br>" : "") 
       + (data.ville != "" ? "<strong>Ville : </strong>" + data.ville + "</br>" : "") 
       + "<strong>Latitude : </strong>" + data.coordonnee[0] + "</br>" 
       + "<strong>Longitude : </strong>" + data.coordonnee[1] + "</br>" + link); 

     if (statut === DEPART || statut === ARRIVEE) { 
      marker[statut] = mm; 
    } 

Цвет маркера определяется {значок: blueIcon}, {значок: greenIcon} и т.д. ...

var blueIcon = new MarkerIcon({iconUrl: '../js/leaflet/images/marker-icon.png'}); 
var greenIcon = new MarkerIcon({iconUrl: '../js/leaflet/images/marker-icon-green.png'}); 
var yellowIcon = new MarkerIcon({iconUrl: '../js/leaflet/images/marker-icon-yellow.png'}); 

Мне нужно сделать функцию, которая изменяет цвет маркера ({icon: ... Icon}). Как изменить иконку моего маркера?

Благодарим за помощь.

ответ

1

Маркер имеет setIcon метод

Для того, чтобы вы маркеру желтый в вашем случае:

marker.setIcon(yellowIcon); 
+0

это работает !! Спасибо !! – Grichka