Security News
Fluent Assertions Faces Backlash After Abandoning Open Source Licensing
Fluent Assertions is facing backlash after dropping the Apache license for a commercial model, leaving users blindsided and questioning contributor rights.
@carnallfarrar/react-mapbox-light
Advanced tools
A light adaptation of mapbox-gl for React application
A modern and light adaptation of mapbox-gl
for React.
npm i @carnallfarrar/react-mapbox-light mapbox-gl --save
You will need to add mapbox CSS by importing it into your JS/TS files or inject it into your HTML
import "mapbox-gl/dist/mapbox-gl.css";
<html>
<head>
...
<link
href="https://api.mapbox.com/mapbox-gl-js/v2.6.1/mapbox-gl.css"
rel="stylesheet"
/>
</head>
</html>
import { MapboxMap, GeoJSON, PopUp } from 'react-mapbox-light';
...
<MapboxMap
token={process.env.REACT_APP_MAPBOX_TOKEN!}
control="bottom-left"
scrollZoom={false}
mapboxOptions={{
style: "mapbox://styles/mapbox/light-v10",
center: [-2.2783131, 53.1400067],
zoom: 6,
}}
>
<GeoJSON
data={geojson}
id="outline-layer"
layers={[
{
id: "outline",
type: "line",
source: "outline-layer",
layout: {},
paint: {
"line-color": "#fff",
"line-width": 2,
},
},
]}
onMouseMove={(e, features) => handleMouseMove(e, features)}
/>
<PopUp
lnglat={popUpProperty?.lnglat}
closeButton={false}
closeOnClick={true}
>
<div>Popup content here!</div>
</PopUp>
</MapboxMap>
This is the main component used to render a Mapbox map into the DOM.
Property | type | Required | Description |
---|---|---|---|
token | string | Yes | Mapbox GL token to use for the map |
control | string | No | No control is diplayed if not provided, if provided value should be the position of the control. |
scrollZoom | boolean | No | default to True. if provided with false it will disable zoom on scroll |
mapboxOptions | object | No | Mapbox options to pass to the map, see mapbox doc |
onStyleLoad | Function | No | a callback function called when the map style has loaded |
a GeoJSON component instantiating a source and multiple layer for a given geojson.
Property | type | Required | Description |
---|---|---|---|
data | Object | Yes | The data for the GeoJSON to display |
id | string | No | The ID to use to display the source provided as data |
layers | Array | Yes | Mapbox layer(s) to use to display GeoJSON provided as data |
onClick | Function | No | onClick event provided to all layers displayed |
onMouseEnter | Function | No | onMouseEnter event provided to all layers displayed |
onMouseLeave | Function | No | onMouseLeave event provided to all layers displayed |
using the mapboxgl inbuilt popup functionality you can include a React component or plain HTML as a child component to populate the popup content
Property | type | Required | Description |
---|---|---|---|
latlng | mapboxgl.LngLat | Yes | The lat and long coordinates of the mouse position |
closeButton | Boolean | Yes | Add a close button to the popup |
closeOnClick | Boolean | Yes | Close the popup on click anywhere in the map |
FAQs
A light adaptation of mapbox-gl for React application
We found that @carnallfarrar/react-mapbox-light demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 2 open source maintainers 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
Fluent Assertions is facing backlash after dropping the Apache license for a commercial model, leaving users blindsided and questioning contributor rights.
Research
Security News
Socket researchers uncover the risks of a malicious Python package targeting Discord developers.
Security News
The UK is proposing a bold ban on ransomware payments by public entities to disrupt cybercrime, protect critical services, and lead global cybersecurity efforts.