1.2.0-supercluster • Published 9 months ago

leaflet-extended v1.2.0-supercluster

Weekly downloads
-
License
-
Repository
github
Last release
9 months ago

Leaflet Extended (React)

npm

A way to load and perform filters faster on API returns for maps

Leaflet Extended is a mechanism that transforms your data into GeoJSON and transforms it into a faster and more dynamic map, with filters and layers that are much more practical to configure within React.

Features

  • Easier and more optimized popups
  • Property based search
  • Dynamic and easy-to-configure Filters and Layers
  • Transformation of data into GeoJSON for easy handling and optimization

Tech

PropDescriptionOptionalDataTypeDefault
baseTileUrlYesStringhttps://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png
baseTileAttributionYesString&copy; <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors
mapLayersarray of map layersNoLayer Array Object
markerDataarray of data to be consumedYesData Array Object[]
circleMarkerStylestyle for markerYesStyle{ stroke: false, opacity: 1, fillOpacity: 1, radius: 8, fillColor: "#ff7800" }
searchIdentifiers={'name', 'city'list of property names used in searchesYesString Array[]
PopupContentpopup contentYesPopup Contenthtml
enablePopupenable or disable popupsYesBooleantrue
multiIdentifierunique identifier property nameYesStringname
latMarkerPropNamelatitude property nameYesStringlat
lngMarkerPropNamelongitude property nameYesStringlng

Layer Array Object

[{
    label: string, // layer name, don't repeat
    style: (f) => {
        // properties -> array of data object
        const { properties } = f;
        return Style; // return style to the marker
    },
    filters: [
        {
          label: string,  // label for the filter
          color: string,  // hex code
          action: string, // single value, do not repeat (internal use, will be removed in the future)
          filter: { 
            prop: string, // data prop name for the filters
            value: string // data value wanted
          }
        }
    ]
}]

Data Array Object

The data shown is not optional, it is required in your data object.

[{
    ...your data
    lat: string | number, // the prop name can be changed by latMarkerPropName
    lng: string | number, // the prop name can be changed by lngMarkerPropName
    name: string          // the prop name can be changed by multiIdentifier
}]

Popup Content

// data -> data object
({ data }) => {
    return <></>; // return element
}

Search

// identifier, value to search -> return true or false
searchElement(string, any);
const mapRef = useRef();

const result = await ref.current.searchElement('name', 'mateus');

return (
    <LeafletExtended
    ...props
    ref={mapRef}
    searchIdentifiers={['name', 'city']}
    />
)

Installation

npm i --save leaflet-extended
1.2.0-supercluster

9 months ago

1.1.10-supercluster

11 months ago

1.1.9-supercluster

11 months ago

1.1.8-supercluster

12 months ago

1.1.8

2 years ago

1.1.7

2 years ago

1.1.6

2 years ago

1.1.5

2 years ago

1.1.4

2 years ago

1.1.3

2 years ago

1.0.3

2 years ago

1.0.2

2 years ago

1.0.1

2 years ago

1.0.0

2 years ago

0.1.5

2 years ago

0.1.4

2 years ago

0.1.3

2 years ago

0.1.2

2 years ago

0.1.1

2 years ago

0.1.0

2 years ago