Согласно документации , для создания пользовательского компонента необходимы следующие шаги:
1) расширить один из абстрактных классов, предоставляемых React-Leaflet
, например:
class MapInfo extends MapControl {
//...
}
2) реализовать метод createLeafletElement (props: Object): Object
для создания соответствующего экземпляра элемента Leaflet, например:
createLeafletElement(opts) {
const MapInfo = L.Control.extend({
onAdd: (map) => {
this.panelDiv = L.DomUtil.create('div', 'info');
return this.panelDiv;
}
});
return new MapInfo({ position: 'bottomleft' });
}
3) обернуть ваш пользовательский компонент, используя withLeaflet()
HOC, например:
export default withLeaflet(MapInfo);
В следующем примере показано, как создать пользовательский компонент для отображения фактического положения (lat,lng)
мыши на карте:
Демо