Je travaille avec l'API JS de Google Maps. J'essaie de placer un marqueur au centre de ma carte. J'utilise la variable currLocation
pour conserver l'emplacement actuel. La variable currLocation
a une valeur dans la méthode private inline (Section 1), mais elle est null lorsque je veux définir un marqueur (Section 2). Stackoverflow avait beaucoup de solutions pour "Impossible de définir la valeur de la variable globale", mais je ne pouvais pas résoudre mon problème avec leur référence.Impossible d'affecter une valeur à une variable à l'intérieur d'une méthode
Toute aide serait appréciée.
function initMap() {
var currLocation = null;
var defaultCenter = { lat: 34.397, lng: 150.644 };
//Set Map properties
var map = new google.maps.Map(document.getElementById('gmap'), {
scrollwheel: true,
zoom: 10
});
//Get Current Location - Section 1
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(function (position) {
currLocation = new google.maps.LatLng(position.coords.latitude, position.coords.longitude);
map.setCenter(currLocation);
});
}
else {
map.setCenter(defaultCenter);
}
//Put marker on the current location - Section 2
var marker = new google.maps.Marker({
position: currLocation,
map: map
});
}