UNPKG

leaflet-simplestyle

Version:

A small module for incorporating incorporating simple style on geojson layers in leafletjs

72 lines (59 loc) 2.1 kB
# leaflet-simplestyle Extends [`L.geoJSON`](https://leafletjs.com/reference-1.3.4.html#geojson) to support the [simplestyle](https://github.com/mapbox/simplestyle-spec) spec. [Check out the demo](https://rowanwins.github.io/leaflet-simplestyle/example/basic.html) ### Installing ```` npm install leaflet-simplestyle ```` ### Usage **Step 1.** Include the library after you've included leafletjs. ``` require('leaflet-simplestyle') // or <script src="leaflet-simplestyle/dist/leaflet-simplestyle.min.js"></script> // or via CDN <script src="https://unpkg.com/leaflet-simplestyle"></script> ``` **Step 2.** Set the `useSimpleStyle` option to `true` when adding your [`L.geoJSON`](https://leafletjs.com/reference-1.3.4.html#geojson) layer. You can also chose whether to support the [Maki Icon Library](https://github.com/mapbox/maki) using the `useMakiMarkers` property, this enables support for the `marker-symbol` property, however it does require calling the Mapbox API. If `useMakiMarkers=false` an inline SVG icon is still available which adjusts size and color. ```` const rect = { "type": "Feature", "properties": { "fill": "yellow" }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 10.45007, -10.359502 ], ... [ 10.45007, -10.359502 ] ] ] } }, L.geoJSON(rect, { useSimpleStyle: true, useMakiMarkers: true }).addTo(map); ```` ### Methods - `useSimpleStyle()`, adds simple styling to a `L.geoJSON` object - `discardSimpleStyle()`, Removes simple styling from a `L.geoJSON` object - `toggleMakiMarkers()`, Toggles the maki marker styling on a `L.geoJSON` object For example ```` const myLayer = L.geoJSON(rect, { useSimpleStyle: false }).addTo(map); myLayer.useSimpleStyle() ```` ### Acknowledgements This borrows some of the code in the excellent [mapbox.js](https://github.com/mapbox/mapbox.js) library.