React component to add traffic sign in leaflet map
React Leaflet Traffic Sign
React component to add traffic sign in leaflet.
Getting Started
import { ReactLeafletTrafficSign } from "ReactLeafletTrafficSign";
<ReactLeafletTrafficSign
position={ route[0] }
image="/overspeed.png"
title="Speed Traffic Sign"
data={{
fuel: 5.5,
speed: 100,
odometer: 10000,
dateTime: new Date("2024-02-01T05:48:000Z")
location: [ -23.45678, 54.3210 ]
}}
height={ 24 }
width={ 24 }/>
Example
import { MapContainer, TileLayer } from "react-leaflet";
import { ReactLeafletTrafficSign } from "ReactLeafletTrafficSign";
const Example = function() {
const route = [ [0,0], [1,1], [2,2] ];
return(
<MapContainer center={ [0,0] } zoom={ 0 }>
<TileLayer url="http://tile.com/map"/>
<Polyline positions={ route } pathOptions={{ color: "#000000", weight: 5 }}/>
<ReactLeafletTrafficSign
position={ route[0] }
image="/alert.png"
title="Alert Traffic Sign"
data={{
fuel: 8.2,
speed: 80,
odometer: 50000,
dateTime: new Date("2024-05-02T14:48:500Z")
location: [ -23.45678, 54.3210 ]
}}
height={ 24 }
width={ 24 }/>
</MapContainer>
);
};
export default Example;
Props
ReactLeafletTrafficSignProps
name | type | description |
---|---|---|
position | LatLngExpression | Marker position in the map |
image | string | Marker URL or Source Image |
title | string | Title of the Marker |
datas | Object | Datas to description Marker basead key and value |
height | number | Marker height size |
width | number | Marker width size |
anchorHeight? | number | Optional* Marker anchor in height |
anchorWidth? | number | Optional* Marker anchor in width |
offsetHeight? | number | Optional* The offset size marker in height |
offsetWidth? | number | Optional* The offset size marker in width |
Examples Props
// Leaflet Latitude and Longitude Expression
const position = [ -12.3456, 87.6543 ] as L.LatLngExpression;
// datas: { [ key: string ]: string }
const datas = {
address: "Havelchaussee, 14193 Berlin, Germany",
position: "52.488192, 13.203841",
timestamp: "2023-11-08",
};
License
MIT License.