Advertisement
Guest User

Untitled

a guest
Apr 5th, 2020
179
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. import React from "react";
  2. import ReactDOM from "react-dom";
  3. import InteractiveMap, { Marker } from "react-map-gl";
  4.  
  5. function Mapbox() {
  6.   const [markers, setMarkers] = React.useState([]);
  7.   const handleClick = ({ lngLat: [longitude, latitude] }) =>
  8.     setMarkers(markers => [...markers, { longitude, latitude }]);
  9.   const [viewport, setViewport] = React.useState({
  10.     latitude: 52,
  11.     longitude: 20,
  12.     zoom: 5,
  13.     pitch: 0,
  14.     bearing: 0
  15.   });
  16.   return (
  17.     <InteractiveMap
  18.       onClick={handleClick}
  19.       width="100vw"
  20.       height="85vh"
  21.       mapboxApiAccessToken="pk.eyJ1IjoiZm90c29mbHkiLCJhIjoiY2s4a21uc3dwMDJxcjNlcDZpcm1iMm9qNSJ9.p4MiDyUSYOZH6Y1gtlQMCw"
  22.       onViewportChange={viewport => setViewport(viewport)}
  23.       {...viewport}
  24.     >
  25.       {markers.length
  26.         ? markers.map((m, i) => (
  27.             <Marker {...m} key={i}>
  28.               {`Clicked here: \n ${m.longitude}, ${m.latitude}`}
  29.             </Marker>
  30.           ))
  31.         : null}
  32.     </InteractiveMap>
  33.   );
  34. }
  35.  
  36. export default Mapbox;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement