2.1.1 • Published 1 year ago
react-leaflet-marker v2.1.1
react-leaflet-marker
Custom markers for react-leaflet maps.
You can use any react component with version of react-leaflet 3.x.x || 4.x.x
Support zoom animation

Demo
Install
React 18 react-leaflet 4
npm i react-leaflet-marker --saveReact 17 react-leaflet 3
npm i react-leaflet-marker@1.1.4 --saveGet started
import React from "react";
import { MapContainer } from "react-leaflet";
import { MarkerLayer, Marker } from "react-leaflet-marker";
const ReactMarker = () => (
<MapContainer
{/* ...MapContainerProps react-leaflet */}
center={[55.796391, 49.108891]}
zoom={10}
>
<MarkerLayer>
<Marker
position={[55.796391, 49.108891]}
>
<div>Hi, i'm a react element</div>
</Marker>
</MarkerLayer>
</MapContainer>
);
export default ReactMarker;Examples
Simple marker with flexible size
Markers without size can't take placement props.

<MarkerLayer>
<Marker
position={[55.796391, 49.108891]}
>
<div style={{
background: 'red'
}}>
simple{'\u00A0'}marker
</div>
</Marker>
</MarkerLayer>Marker with fixed size
Just add size props. It is the best practice the most cases.

<MarkerLayer>
<Marker
position={[55.796391, 49.108891]}
size={[80, 20]} // required for placement
// you can use optional `placement`
placement="center" // "top", "bottom"
>
<div style={{
background: 'red',
textAlign: 'center'
}}>
center
</div>
</Marker>
</MarkerLayer>Rise on hover
The marker will get on top of others when you hover the mouse over it.

<MarkerLayer>
<Marker
position={[55.796391, 49.108891]}
size={[80, 40]}
interactive // required for riseOnHover
riseOnHover
>
<div style={{
background: 'red',
textAlign: 'center'
}}>
First marker
</div>
</Marker>
</MarkerLayer>Use any react component as marker
For example, I used antd dropdown and custom icons

Props
| Name | Default | Type | Description |
|---|---|---|---|
position | - | LatLngExpression | Lat Lng coordinates |
innerRef? | - | MutableRefObject | |
riseOnHover? | false | bool | If true, the marker will get on top of others when you hover the mouse over it.If true, the marker will get on top of others when you hover the mouse over it. |
riseOffset? | 250 | number | The z-index offset used for the riseOnHover feature. |
zIndexOffset? | 0 | number | By default, marker images zIndex is set automatically based on its latitude. Use this option if you want to put the marker on top of all others (or below), specifying a high value like 1000 (or high negative value, respectively). |
interactive? | false | bool | If set false, the marker won't respond to mouse |
size? | - | width: number, height: number | Size marker. Required for placement |
placement? | center | string | One of top, center, bottom |
2.1.1
1 year ago
2.1.0
3 years ago
2.0.0
3 years ago
1.1.4
3 years ago
1.1.3
3 years ago
1.1.2
3 years ago
1.1.1
3 years ago
1.1.0
3 years ago
1.0.3-alpha.9
3 years ago
1.0.3-alpha.8
3 years ago
1.0.3-alpha.7
3 years ago
1.0.3-alpha.6
3 years ago
1.0.3-alpha.5
3 years ago
1.0.3-alpha.4
3 years ago
1.0.3-alpha.1
3 years ago
1.0.3
3 years ago
1.0.2
3 years ago
1.0.1
3 years ago
1.0.0
3 years ago