0

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

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

在此处输入图像描述

4

1 回答 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);
于 2019-11-22T10:51:15.670 回答