edit1: entfernt die var von lan und lon unter der Funktion showPosition.Wie man Koordinaten von innerhalb einer Funktion zu Variablen übergibt und sie dann außerhalb der Funktion zu einer anderen Variablen hinzufügt
Ich versuche, die Koordinaten meines aktuellen Standortes zu erhalten. Holen Sie sich diese Koordinaten und übergeben Sie sie durch eine Funktion. Nach dem Übergeben der Koordinaten möchte ich sie in variable lan und lon speichern. Verwenden Sie diese Koordinaten, um sie zu einer URL-Variablen hinzuzufügen. Von dort möchte ich, dass die URL-Variable verwenden JSON zu analysieren und nutzen Namen zu finden, Stadt usw.
HTML:
<p>Click the button to get your coordinates.</p>
<button onclick="getLocation()">Try It</button>
<p id="geoLocal"></p>
JavaScript:
var lon, lan;
var geoLocal = document.getElementById("geoLocal");
//First part, I am creating the function to get the coordinates.
function getLocation() {
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(showPosition);
} else {
geoLocal.innerHTML = "Geolocation is not supported by this browser.";
}
};
//The first lines of code outputs the function and tells me the coordinates.
//As it tells me these coordinates I want to save them to **lan** **and** lon variables.
function showPosition(position) {
geoLocal.innerHTML = "Latitude: " + position.coords.latitude +
"<br>Longitude: " + position.coords.longitude;
lan= position.coords.latitude;
lon= position.coords.longitude;
console.log(lan, lon);
return (lan, lon);
};
Oben würde ich wollen, dass es die lan und lon Variablenkoordinaten zurückgibt, damit ich sie zu den hinzufügen kann URL unten:
Ich zauberstab, um das lan und lon hinzuzufügen und sie am Ende von wUndergroundGeo unten hinzuzufügen. Momentan werden die Koordinaten hinzugefügt, aber im Wesentlichen die URL/Variable
var baseURL="http://api.wunderground.com/api/8a8af55ae16c8627/geolookup/q/"
var addLanLon= baseURL+ lan + "," + lon;
var wUndergroundGeo=addLanLon;
sein die wUndergroundGeo die gleiche Variable unten ersetzen.
var wUndergroundGeo='http://api.wunderground.com/api/8a8af55ae16c8627/geolookup/q/34.4278,-119.7034111.json';
var wUndergroundSF= 'http://api.wunderground.com/api/8a8af55ae16c8627/conditions/q/CA/San_Francisco.json'
var weather= new XMLHttpRequest();
weather.open("GET",wUndergroundGeo, false);
weather.send(null);
var myRequest= JSON.parse(weather.response);
var cityLocal= "City location: "+ myRequest.location.city + "<br/>";
document.getElementById("weather").innerHTML= cityLocal
Was haben Sie bisher versucht? Wann wirst du die API anrufen? –
Auf den ersten Blick schattieren Sie Ihre globalen Variablen, indem Sie sie in Ihrer 'showPosition'-Funktion neu deklarieren. –
Das Ergebnis, das ich suche, ist, die Koordinaten zu erhalten und sie zu Variablen zu speichern, die ich später @CarlEdwards verwenden kann. – GauchoRoger