Security News
Supply Chain Attack Detected in Solana's web3.js Library
A supply chain attack has been detected in versions 1.95.6 and 1.95.7 of the popular @solana/web3.js library.
@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
A supply chain attack has been detected in versions 1.95.6 and 1.95.7 of the popular @solana/web3.js library.
Research
Security News
A malicious npm package targets Solana developers, rerouting funds in 2% of transactions to a hardcoded address.
Security News
Research
Socket researchers have discovered malicious npm packages targeting crypto developers, stealing credentials and wallet data using spyware delivered through typosquats of popular cryptographic libraries.