Notice: la Carte contenant pas trouvé

J'ai le dessous de réagir classe qui extrait la géolocalisation via le navigateur.

Je suis le mappage d'un dépliant carte. Je veux de la géolocalisation être une entrée à la setView, tels que la carte des "zooms" dans la région de la client d'adresse du navigateur.

Voici la réagir la classe:

    import React from 'react';
    import L from 'leaflet';
    import countries from './countries.js'; 

    var Worldmap = React.createClass({

        render: function() {

            let geolocation = [];

            navigator.geolocation.getCurrentPosition(function(position) {
                let lat = position.coords.latitude;
                let lon = position.coords.longitude;
                geolocation.push(lat, lon);
                locationCode()
            });

            function locationCode() {
                if(geolocation.length <= 0)
                    geolocation.push(0, 0);
            }


            let map = L.map('leafletmap').setView(geolocation, 3);

            L.geoJSON(countries, {
                style: function(feature) {
                    return {
                        fillColor: "#FFBB78",
                        fillOpacity: 0.6,
                        stroke: true,
                        color: "black",
                        weight: 2
                    };
                }
            }).bindPopup(function(layer) {
                return layer.feature.properties.name;
            }).addTo(map);

            return (
                <div id="leafletmap" style={{width: "100%", height: "800px" }}/>
            )
        }
    });

    export default Worldmap

Il est appelé dans un fichier principal où le code HTML est affiché comme <WorldMap />.

Je reçois le message d'erreur Uncaught Error: Map container not found. lors du chargement de la page. En regardant autour, habituellement, ce serait parce que la carte est d'essayer d'être affiché dans un div en avant les valeurs de((gelocation, 3) dans ce cas). Cependant, elle ne devrait pas l'afficher avant d'être renvoyée de la fonction rendu ci-dessous.

Quelle pourrait-être la question?

L'impression de l' geolocation dans la console correctement récupère les coordonnées, donc ça ne semble pas être le problème.

OriginalL'auteur cbll | 2017-03-07