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

问题描述 投票:0回答:1

我想更改传单地理编码器的默认标记,为此我重写了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

typescript leaflet angular7 leaflet-routing-machine
1个回答
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);

© www.soinside.com 2019 - 2024. All rights reserved.