
Security News
Official Go SDK for MCP in Development, Stable Release Expected in August
The official Go SDK for the Model Context Protocol is in development, with a stable, production-ready release expected by August 2025.
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).
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
The official Go SDK for the Model Context Protocol is in development, with a stable, production-ready release expected by August 2025.
Security News
New research reveals that LLMs often fake understanding, passing benchmarks but failing to apply concepts or stay internally consistent.
Security News
Django has updated its security policies to reject AI-generated vulnerability reports that include fabricated or unverifiable content.