Security News
Maven Central Adds Sigstore Signature Validation
Maven Central now validates Sigstore signatures, making it easier for developers to verify the provenance of Java packages.
react-leaflet-vectorgrid
Advanced tools
React wrapper of Leaflet.VectorGrid. Display gridded vector data (sliced GeoJSON, TopoJSON or protobuf vector tiles).
React wrapper of Leaflet.VectorGrid for react-leaflet.
Display gridded vector data (sliced GeoJSON, TopoJSON or protobuf vector tiles) in Leaflet 1.0.0
Tested with Leaflet 1.3.4 and React-Leaflet 1.9.1, React-Leaflet 2.1.4
Version | Demo | Description |
---|---|---|
react-leaflet@1.9.1 | JSFiddle , CodePen | Sliced GeoJSON |
react-leaflet@2.1.4 | JSFiddle , CodePen | Sliced GeoJSON |
npm install --save react-leaflet-vectorgrid
react-leaflet-vectorgrid
requires lodash
as peerDependency
(React, PropTypes, Leaflet, react-leaflet also should be installed)
npm install --save lodash
import { Map, TileLayer } from 'react-leaflet';
import VectorGrid from 'react-leaflet-vectorgrid';
const options = {
type: 'slicer',
data: {geojson},
idField: 'OBJECTID',
tooltip: 'NAME',
popup: (layer) => `<div>${layer.properties.NAME}</div>`,
style: {
weight: 0.5,
opacity: 1,
color: '#ccc',
fillColor: '#390870',
fillOpacity: 0.6,
fill: true,
stroke: true
},
hoverStyle: {
fillColor: '#390870',
fillOpacity: 1
},
activeStyle: {
fillColor: '#390870',
fillOpacity: 1
},
zIndex: 401
};
<Map center={[2.935403, 101.448205]} zoom={4}>
<TileLayer
url="https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png"
attribution='© <a href="http://osm.org/copyright">OpenStreetMap</a> contributors'
/>
<VectorGrid {...options} onClick={this.onClick} />
</Map>
Option | Type | Default | Description |
---|---|---|---|
data | Object | {} | Required when using type slicer . A valid GeoJSON FeatureCollection object. |
type | String | 'slicer' | Decides between using VectoGrid.Slicer and VectorGrid.Protobuf. Available options: slicer , protobuf . |
idField | String | '' | A unique identifier field in the vector feature. |
tooltip | String | function | undefined |
popup | Function | undefined | Similar to tooltip , this props will be passed to leaflet bindPopup function to create popup for vector features. |
style | Object | undefined | Apply default style to all vector features. Use this props when not using vectorTileLayerStyles |
hoverStyle | Object | undefined | Style to apply to features on mouseover event. |
activeStyle | Object | undefined | Style to apply to features on click event. Can be use to show user selection when feature is clicked. Double click to clear selection. |
zIndex | Integer | undefined | Sets the VectorGrid z-index. |
interactive | Boolean | true | Whether VectorGrid fires Interactive Layer events. |
onClick | Function | undefined | Listens to VectorGrid click events. interactive option must be set to true . |
onMouseover | Function | undefined | Listens to VectorGrid mouseover events. interactive option must be set to true . |
onMouseout | Function | undefined | Listens to VectorGrid mouseout events. interactive option must be set to true . |
onDblclick | Function | undefined | Listens to VectorGrid dblclick events. interactive option must be set to true . |
import { Map, TileLayer } from 'react-leaflet';
import VectorGrid from 'react-leaflet-vectorgrid';
const options = {
type: 'protobuf',
url: 'https://free-{s}.tilehosting.com/data/v3/{z}/{x}/{y}.pbf.pict?key={key}'
vectorTileLayerStyles: { ... },
subdomains: 'abcd',
key: 'abcdefghi01234567890'
};
<Map center={[2.935403, 101.448205]} zoom={4}>
<TileLayer
url="https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png"
attribution='© <a href="http://osm.org/copyright">OpenStreetMap</a> contributors'
/>
<VectorGrid {...options} />
</Map>
Option | Type | Default | Description |
---|---|---|---|
type | String | 'slicer' | Decides between using VectoGrid.Slicer and VectorGrid.Protobuf. Available options: slicer , protobuf . |
url | String | '' | Required when using type protobuf . Pass a url template that points to vector tiles (usually .pbf or .mvt ). |
subdomains | String | 'abc' | Akin to the subdomains option to L.TileLayer . |
accessKey | String | '' | Tile server access key. |
accessToken | String | '' | Tile server access token. |
vectorTileLayerStyles | Object | undefined | A data structure holding initial symbolizer definitions for the vector features. Refer Leaflet.VectorGrid doc for more info. |
This is compatible with version 2 of React-Leaflet, but you have to wrap the VectorGrid
using the withLeaflet
higher-order component to give it access to the new context mechanism. For example:
import { Map, withLeaflet } from 'react-leaflet';
import VectorGridDefault from 'react-leaflet-vectorgrid';
// wrap the VectorGrid component using `withLeaflet` HOC
const VectorGrid = withLeaflet(VectorGridDefault);
// use <VectorGrid /> component as you would use it in react-leaflet v1
Credits goes to all the contributors of the original work and everyone who contributed to this project.
MIT License
FAQs
React wrapper of Leaflet.VectorGrid. Display gridded vector data (sliced GeoJSON, TopoJSON or protobuf vector tiles).
The npm package react-leaflet-vectorgrid receives a total of 0 weekly downloads. As such, react-leaflet-vectorgrid popularity was classified as not popular.
We found that react-leaflet-vectorgrid demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
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.
Security News
Maven Central now validates Sigstore signatures, making it easier for developers to verify the provenance of Java packages.
Security News
CISOs are racing to adopt AI for cybersecurity, but hurdles in budgets and governance may leave some falling behind in the fight against cyber threats.
Research
Security News
Socket researchers uncovered a backdoored typosquat of BoltDB in the Go ecosystem, exploiting Go Module Proxy caching to persist undetected for years.