Socket
Book a DemoInstallSign in
Socket

react-leaflet-drift-marker

Package Overview
Dependencies
Maintainers
1
Versions
3
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

react-leaflet-drift-marker

Just a marker that can drift its way to a new position, to use with react-leaflet

latest
Source
npmnpm
Version
4.0.0
Version published
Maintainers
1
Created
Source

react-leaflet-drift-marker

MIT License npm version

SupportTested
react-leafletv2.x
react-leafletv3.x
react-leafletv4.x
react-leafletreact-leaflet-drift-marker
v2.xv2.0
v3.xv3.x
v4.xv4.x

"IMG"

A plugin for react-leaflet, that allows a marker to move smoothly instead of jump to a new position.

For more performance use canvas or webgl options!!

Installation

Install via NPM

npm install --save react-leaflet-drift-marker

react-leaflet-drift-marker requires leaflet and react-leaflet as peerDependency

npm install --save leaflet react-leaflet

Usage

Edit react-leaflet-drift-markerv3

Still supports all existing props from react-leaflet marker check component

Added PropsTypeDefaultDescription
durationnumber Required, duration im miliseconds marker will take to destination point
keepAtCenterbooleanfalseMakes map view follow marker

DriftMarker Component, is the same as react-leaflet Marker Componet, but DriftMarker on update, instead of doing a setLatLng does a slideTo new position.

DriftMarker (with react-leaflet) example and with position generator

import React from 'react'
import { MapContainer, TileLayer, Popup, Tooltip } from "react-leaflet";
import ReactLeafletDriftMarker from "react-leaflet-drift-marker"

function gen_position() {
    return {
        lat:(Math.random()*360-180).toFixed(8),
        lng:(Math.random()*180-90).toFixed(8):
    }
}
class SampleComp extends Component {
    // initial position
    state={ latlng:gen_position()}

    componentDidMount() {
        setTimeout(() => {// updates position every 5 sec
            this.setState({latlng:gen_position()})
        }, 5000);
    }

    render() {
        return <MapContainer center={[2.935403, 101.448205]} zoom={10}>
        <TileLayer
            attribution='&amp;copy <a href="http://osm.org/copyright">OpenStreetMap</a> contributors'
            url="https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png"
        />
        <ReactLeafletDriftMarker
            // if position changes, marker will drift its way to new position
            position={this.state.latlng}
            // time in ms that marker will take to reach its destination
            duration={1000}
            icon={iconPerson} >
            <Popup>Hi this is a popup</Popup>
            <Tooltip>Hi here is a tooltip</Tooltip>
        </ReactLeafletDriftMarker>
    </MapContainer>
    }
}

License

MIT License

Keywords

leaflet

FAQs

Package last updated on 07 Feb 2023

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts