Popup
Add popups to the map.
Demo
Examples
Plain HTML
You can find the live Demo on CodeSandbox here.
1<!DOCTYPE html>2<html lang="en">3<head>4<meta name="viewport" content="initial-scale=1.0" />5<meta charset="UTF-8" />6<title>Basic Map</title>7<link8href="https://maps-gl.nextbillion.io/maps/v2/api/css"9rel="stylesheet"10/>11<style>12* {13margin: 0;14padding: 0;15}16#map {17width: 100vw;18height: 100vh;19}20</style>21</head>22<body>23<div id="map"></div>24<script src="https://maps-gl.nextbillion.io/maps/v2/api/js"></script>25<script>26(function () {27// You need to replace the apiKey with yours28nextbillion.setApiKey("your-api-key");29var nbmap = new nextbillion.maps.Map({30container: document.getElementById("map"),31style: "https://api.nextbillion.io/maps/streets/style.json",32zoom: 11,33center: { lat: 34.08572, lng: -118.324569 }34});3536nbmap.on("load", function () {37// add a popup38const popupOffsets = {39top: [0, 0],40"top-left": [0, 0]41};42new nextbillion.maps.Popup({43offset: popupOffsets,44className: "my-class"45})46.setLngLat({ lat: 34.08572, lng: -118.324569 })47.setHTML("<h1>Hello World!</h1>")48.setMaxWidth("300px")49.addTo(nbmap.map);50});51})();52</script>53</body>54</html>55
React
You can find the live Demo on CodeSandbox here.
1import React, { useEffect } from 'react'2import '@nbai/nbmap-gl/dist/nextbillion.css'3import nextbillion, { NBMap, Popup } from '@nbai/nbmap-gl'45const PopupDemo = () => {6useEffect(() => {7// You need to replace the apiKey with yours8nextbillion.setApiKey('your-api-key')9const nbmap = new NBMap({10container: 'map',11style: 'https://api.nextbillion.io/maps/streets/style.json',12zoom: 11,13center: { lat: 34.08572, lng: -118.324569 }14})15const popupOffsets = {16top: [0, 0],17'top-left': [0, 0]18}19// add a popup20new Popup({21offset: popupOffsets,22className: 'my-class'23})24.setLngLat({ lat: 34.08572, lng: -118.324569 })25.setHTML('<h1>Hello World!</h1>')26.setMaxWidth('300px')27.addTo(nbmap.map)28})2930return (31<div className="app">32<div33style={{34width: '100%',35height: '100%',36position: 'fixed',37top: '0',38left: '0'39}}40id="map"></div>41</div>42)43}44export default PopupDemo