I've built a React app with a map component which renders a map. I tried to add a marker, but the marker keeps moving when I zoom. What is causing this to happen?
import MapGL, { Marker } from "react-map-gl"
import { useState } from "react";
const Map = () => {
const [viewState, setViewState] = useState({
longitude: 4.895168,
latitude: 52.370216,
zoom: 10,
})
const [marker] = useState({
longitude: 4.895168,
latitude: 52.370216,
})
return (
<div className="map">
<MapGL
{...viewState}
style={{ width: "100%", height: "100%" }}
mapStyle="mapbox://styles/mapbox/streets-v9"
onMove={(evt) => setViewState(evt.viewState)}
mapboxAccessToken="my_token"
>
<Marker
{...marker}
/>
</MapGL>
</div>
)
}
export default Map;
The problem was this missing line in my index.html:
<link href="https://api.mapbox.com/mapbox-gl-js/v2.6.1/mapbox-gl.css" rel="stylesheet">
The documentation tells you nothing about it, had to find it in the source code of this example: https://github.com/visgl/react-map-gl/tree/7.0-release/examples/controls