自定义传单地理编码器标记

Custom leaflet geocoder marker

我想更改传单地理编码器的默认标记,为此我重写了 markGeocode 函数并将其添加到控件地理编码器中(使用 typeScript):

 const geocoder = L.Control.geocoder({
        position: 'topright',
        placeholder: 'Rechercher...',
        showResultIcons: true,
        errorMessage: 'Aucun resultat.',
         // Here :
        markGeocode: (result) => {
            L.marker(new L.latLng(result.center), { icon: this.endIcon }).addTo(map);
        }

    }).addTo(map);

但是更改不适用,始终使用相同的标记(默认标记):

您可以覆盖默认方法。

var geocoder = L.Control.geocoder({
  defaultMarkGeocode: false
})
  .on('markgeocode', function(e) {
    var latlng = e.geocode.center;
    var marker = L.marker(latlng,{icon: greenIcon}).addTo(map);
    map.fitBounds(e.geocode.bbox);
  })
  .addTo(map);