Socket
Socket
Sign inDemoInstall

use-mapbox-gl

Package Overview
Dependencies
35
Maintainers
1
Versions
29
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    use-mapbox-gl

mapbox-gl react hook


Version published
Maintainers
1
Install size
8.14 kB
Created

Changelog

Source

2.2.2 (2021-12-06)

Bug Fixes

  • deps: fix security deps warnings (47dceee)
  • deps: update example deps (c5365c7)

Readme

Source

use-mapbox-gl

Simple, 0 dependency hook around mapbox-gl

NPM Conventional Commits

🖥 Demo

Check out the demo

📦 Installation

with npm
$ npm install --save use-mapbox-gl
with yarn
$ yarn add use-mapbox-gl

⚠️ Don't forget install peer dependencies! If it not alredy installed

with npm
$ npm install --save mapbox-gl
with yarn
$ yarn add mapbox-gl

💅 Import styles. You also need to use mapbox-gl styles

If you are using create-react-app add this link to the public/index.html into the head tag

<link
  href="https://api.mapbox.com/mapbox-gl-js/v1.12.0/mapbox-gl.css"
  rel="stylesheet"
/>

OR You can also import styles from mapbox-gl dependencies

Add this import to your src/index.js

import "mapbox-gl/dist/index.css"

📖 Examples

🔗 With token

import React from "react";
import { useMapboxGl } from "use-mapbox-gl";

function BasicMap() {
  const containerRef = useRef();

  useMapboxGl(containerRef, {
    style: "mapbox://styles/mapbox/streets-v11",
    accessToken: "your_access_token",
  });

  return <div ref={containerRef} />;
}

export default BasicMap

🔗 Without token

For using without token, you need to define custom base map style, as example:

import React from "react";
import { useMapboxGl } from "use-mapbox-gl";

const osmStyle = {
  version: 8,
  sources: {
    osm: {
      type: "raster",
      tiles: [
        "https://a.tile.openstreetmap.org/{z}/{x}/{y}.png",
        "https://b.tile.openstreetmap.org/{z}/{x}/{y}.png",
        "https://c.tile.openstreetmap.org/{z}/{x}/{y}.png",
      ],
      tileSize: 256,
    },
  },
  layers: [
    {
      id: "osm",
      source: "osm",
      type: "raster",
    },
  ],
};

function WithoutTokenMap() {
  const containerRef = useRef();

  useMapboxGl(containerRef, {
    style: osmStyle,
    zoom: 9,
    center: [30, 50],
  });

  return <div ref={containerRef} />;
}

export default WithoutTokenMap

🕹 API

🔗 useMapboxGl
  • container - The HTML element React ref in which Mapbox GL JS will render the map
  • options (optional) - object with native mapbox-gl parameters, without container prop
  • setMapApi (optional) - map load callback, called when the [mapbox-gl load event] (https://docs.mapbox.com/mapbox-gl-js/api/map/#map.event:load) occurs
  • cleanMapApi (optional) - map cleanup callback, called when the map container is unmounted
useMapboxGl(
  container: React.MutableRefObject<HTMLElement> 
  options?: Omit<MapboxOptions, "container">
  setMapApi?: (map: mapboxgl.Map) => void 
  cleanMapAPI?: () => void
)

License

MIT © dqunbp

Keywords

FAQs

Last updated on 06 Dec 2021

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.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc