繁体   English   中英

如何更改标记的颜色

[英]How to change the color of a marker

这是我在地图上添加标记的代码:

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;
    }

标记的颜色由{icon:blueIcon},{icon: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})。 如何修改标记的图标?

谢谢你的帮助。

标记具有setIcon方法

使您的标记变黄:

marker.setIcon(yellowIcon);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM