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

时间:2019-11-22 10:25:30

标签: typescript leaflet angular7 leaflet-routing-machine

我想更改传单地理编码器的默认标记,因为我覆盖了markGeocode函数,并将其添加到Control地理编码器中(使用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);

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

enter image description here

1 个答案:

答案 0 :(得分:1)

您可以覆盖默认方法。

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