Je ne parviens pas à en passer une variable url entre les fonctions dans mon code JS sur CodePen:ne peut pas passer var entre les fonctions de JS Codepen avec géolocalisations API
var options = {
enableHighAccuracy: true,
timeout: 5000,
maximumAge: 0
};
function success(pos) {
var crd = pos.coords;
var lat = crd.latitude;
var long = crd.longitude;
var JSONurl = "https://maps.googleapis.com/maps/api/geocode/json?latlng=" + lat + "," + long + "&key=MY_APIKEY";
console.log(JSONurl);
console.log(`Latitude : ${crd.latitude}`);
console.log(`Longitude: ${crd.longitude}`);
return JSONurl;
};
function error(err) {
console.warn(`ERROR(${err.code}): ${err.message}`);
};
function getCity() {
$.getJSON(JSONurl, function(json) {
var arr = $.map(json, function(el) { return el; })
// console.log(Object.keys(arr[3]));
console.log(arr[3]["address_components"][1]["long_name"]);
}
)};
var JSONurl = navigator.geolocation.getCurrentPosition(success, error, options);
getCity(JSONurl);
Idéalement je voudrais simplement appeler le getCity()
fonction et pour que cette fonction appelle la fonction success(pos)
et pour cela lancer et renvoyer la variable JSONurl à getCity()
.
Je n'ai aucune idée de pourquoi cela ne fonctionne pas, mais c'est un peu hack-ey de toute façon, donc des suggestions d'amélioration bienvenue.
Je pense que la fonction getCity() doit être fonction getCity (JSONurl) –
Ok, mais si je remplace la dernière ligne avec: var = JSONurl navigator.geolocation.getCurrentPosition (succès, erreur, options); console.log (JSONurl); getCity (JSONurl); cela ne se connecte toujours pas JSONurl à la console? – Davtho1983