
Security Fundamentals
Turtles, Clams, and Cyber Threat Actors: Shell Usage
The Socket Threat Research Team uncovers how threat actors weaponize shell techniques across npm, PyPI, and Go ecosystems to maintain persistence and exfiltrate data.
react-map-gl
Advanced tools
react-map-gl is a React wrapper for Mapbox GL JS, which is a powerful library for interactive, customizable maps. It allows developers to integrate Mapbox maps into their React applications with ease, providing a range of features for map rendering, user interaction, and data visualization.
Basic Map Rendering
This code demonstrates how to render a basic map using react-map-gl. It sets up a map centered on a specific latitude and longitude with a given zoom level. The map style is set to 'streets-v11' from Mapbox, and the viewport state is managed to allow for user interaction.
```jsx
import React from 'react';
import ReactMapGL from 'react-map-gl';
const Map = () => {
const [viewport, setViewport] = React.useState({
latitude: 37.7577,
longitude: -122.4376,
zoom: 8
});
return (
<ReactMapGL
{...viewport}
width="100%"
height="100%"
mapStyle="mapbox://styles/mapbox/streets-v11"
onViewportChange={nextViewport => setViewport(nextViewport)}
mapboxApiAccessToken={process.env.REACT_APP_MAPBOX_TOKEN}
/>
);
};
export default Map;
```
Adding Markers
This code sample shows how to add a marker to the map. The Marker component is used to place a marker at a specific latitude and longitude. In this example, a simple red dot is used as the marker.
```jsx
import React from 'react';
import ReactMapGL, { Marker } from 'react-map-gl';
const MapWithMarkers = () => {
const [viewport, setViewport] = React.useState({
latitude: 37.7577,
longitude: -122.4376,
zoom: 8
});
return (
<ReactMapGL
{...viewport}
width="100%"
height="100%"
mapStyle="mapbox://styles/mapbox/streets-v11"
onViewportChange={nextViewport => setViewport(nextViewport)}
mapboxApiAccessToken={process.env.REACT_APP_MAPBOX_TOKEN}
>
<Marker latitude={37.7577} longitude={-122.4376}>
<div style={{ backgroundColor: 'red', width: '10px', height: '10px', borderRadius: '50%' }} />
</Marker>
</ReactMapGL>
);
};
export default MapWithMarkers;
```
Handling Map Events
This example demonstrates how to handle map events, such as clicks. The handleClick function is triggered when the map is clicked, displaying an alert with the coordinates of the click.
```jsx
import React from 'react';
import ReactMapGL from 'react-map-gl';
const MapWithEvents = () => {
const [viewport, setViewport] = React.useState({
latitude: 37.7577,
longitude: -122.4376,
zoom: 8
});
const handleClick = (event) => {
alert(`Clicked at ${event.lngLat}`);
};
return (
<ReactMapGL
{...viewport}
width="100%"
height="100%"
mapStyle="mapbox://styles/mapbox/streets-v11"
onViewportChange={nextViewport => setViewport(nextViewport)}
mapboxApiAccessToken={process.env.REACT_APP_MAPBOX_TOKEN}
onClick={handleClick}
/>
);
};
export default MapWithEvents;
```
Leaflet is a popular open-source JavaScript library for interactive maps. It is lightweight and easy to use, with a wide range of plugins available for additional functionality. Compared to react-map-gl, Leaflet is more lightweight but may not offer the same level of performance and customization as Mapbox GL JS.
google-maps-react is a library for integrating Google Maps into React applications. It provides a set of React components for Google Maps, allowing for easy map rendering and interaction. While it offers robust features and the reliability of Google Maps, it may not provide the same level of customization and styling options as react-map-gl.
react-leaflet is a React wrapper for Leaflet, providing a set of React components for Leaflet maps. It combines the simplicity of Leaflet with the power of React, making it easy to create interactive maps in React applications. Compared to react-map-gl, react-leaflet is more lightweight but may not offer the same advanced features and performance.
FAQs
React components for MapLibre GL JS and Mapbox GL JS
The npm package react-map-gl receives a total of 551,719 weekly downloads. As such, react-map-gl popularity was classified as popular.
We found that react-map-gl demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 6 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 Fundamentals
The Socket Threat Research Team uncovers how threat actors weaponize shell techniques across npm, PyPI, and Go ecosystems to maintain persistence and exfiltrate data.
Security News
At VulnCon 2025, NIST scrapped its NVD consortium plans, admitted it can't keep up with CVEs, and outlined automation efforts amid a mounting backlog.
Product
We redesigned our GitHub PR comments to deliver clear, actionable security insights without adding noise to your workflow.