Hi I'm trying to create a map that is inside of a modal. But the map is only showed partially. I've tried invalidatingSIze() after node is created but it doesn't seem to work. Thanks!
import React from 'react'; import ReactDOM from 'react-dom' import L from 'leaflet'; class Mapa extends React.Component { constructor(props){ super(props); this.state = { }; } createMap(element){ var map = L.map(element); L.tileLayer('http://{s}.tile.osm.org/{z}/{x}/{y}.png', { attribution: '© OpenStreetMap contributors' }).addTo(map); return map; } setupMap(){ this.map.setView([this.props.lat, this.props.lon], this.props.zoom); this.map.invalidateSize(); } componentDidMount(){ let self = this; if (this.props.createMap) { this.map = this.props.createMap(ReactDOM.findDOMNode(self)); } else { this.map = this.createMap(ReactDOM.findDOMNode(self)); } this.setupMap(); } render(){ /*Returns div with id map*/ } }
this.map.invalidateSize();
inside a setInterval – Gaurav Mukherjee