I'm trying to do a simple Web App using the library react-leaflet.
I have the following code:
import React from 'react';
import { Map, Marker, Popup, TileLayer } from 'react-leaflet';
class LeafletMap extends React.Component {
constructor() {
super();
this.state = {
lat: 51.505,
lng: -0.09,
zoom: 13,
};
}
render() {
const position = [this.state.lat, this.state.lng];
return (
<Map center={position} zoom={this.state.zoom}>
<TileLayer
url='http://{s}.tile.osm.org/{z}/{x}/{y}.png'
/>
<Marker position={position}>
<Popup>
<span>A pretty CSS3 popup. <br/> Easily customizable.</span>
</Popup>
</Marker>
</Map>
);
}
}
export default LeafletMap;
However, The TileLayer is displaying in random order all the time. I've read a lot of code where It must work with ComponentDidMount() by Reactjs, but The renders that I've seen are totally different compared to the library.
Do you have any idea what can I do?
The only reason It was not working is because we need to add the following code in index.html:
<link rel="stylesheet" href="https://npmcdn.com/[email protected]/dist/leaflet.css" />
<style type="text/css">
.leaflet-container {
height: 400px;
}
</style>
That's all.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With