Aktives Mitglied
Hallo liebe Leute,
ich ermittle mit einer Funkton den aktuellen Standort des Nutzers und lasse diesen auf der Google-Maps Karte anzeigen (mithilfe der Google Maps API).
Das funktioniert auch soweit, jetzt war nur mein Problem, wie ich den Standwort in eine PHP Variable übergebe, damit ich in einer MySQL Datenbank mit den Werten "spielen" kann.
Das wollte ich mit jQuery lösen:
Prinzipiell klappt das, wenn ich über dem o.g. Code die Variablen testweise einfach per var lati = ...; und var long = ...; definiere.
Hier mal der Code, wie ich den Standort ermittle, und den auch noch auf der Karte anzeige:
Mit den return koordinaten in der Funktion start() will ich die Koordinaten auch außerhalb der Fun ktion nutzen können: var Test =start(); (Die Variable Test will ich dann in jQuery weiterverwenden)
Wenn ich das einfach so in meine "Hauptdatei" rein schreibe, wird auch der Standort wie gewünscht auf der Karte angezeigt, also klappt bis dahin alles.
Nur wenn ich jetzt alert(Test); aufrufe, bekomme ich immer, dass die Variable nicht definiert ist.
Kann mir jemand sagen, warum die nicht definiert ist, aber die Funkion trotzdem funktioniert? (Wenns geht ohne meinen Code komplett umzubauen, auch wenn er sicher verbesserungswürdig ist, aber ich verstehe ihn wenigstens einigermaßen )
Vielen Dank schon mal!
ich ermittle mit einer Funkton den aktuellen Standort des Nutzers und lasse diesen auf der Google-Maps Karte anzeigen (mithilfe der Google Maps API).
Das funktioniert auch soweit, jetzt war nur mein Problem, wie ich den Standwort in eine PHP Variable übergebe, damit ich in einer MySQL Datenbank mit den Werten "spielen" kann.
Das wollte ich mit jQuery lösen:
Code:
$(window).load(function () {
$.get("./files/get.AddressData.php?lat="+lati+"&lng="+long,
function(text){
$("#getting_addresses").html(text);
});
});
Hier mal der Code, wie ich den Standort ermittle, und den auch noch auf der Karte anzeige:
Code:
function initialize(coords) {
var latlng = new google.maps.LatLng(coords.latitude, coords.longitude);
var lati = coords.latitude;
var long = coords.longitude;
var myOptions = {
zoom: 15,
center: latlng,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
var akt_pos = new google.maps.InfoWindow ({
content: latlng.toString(),
position: latlng,
map: map,
});
var koordinaten = lati+','+long;
return koordinaten;
}
function start() {
//Position ermitteln und Karte initialisieren
navigator.geolocation.getCurrentPosition(function(position){
//initialize(position.coords);
var koordinaten = initialize(position.coords);
return koordinaten;
}, function(){
document.getElementById('map_canvas').innerHTML = 'Deine Position konnte leider nicht ermittelt werden';
});
}
Wenn ich das einfach so in meine "Hauptdatei" rein schreibe, wird auch der Standort wie gewünscht auf der Karte angezeigt, also klappt bis dahin alles.
Nur wenn ich jetzt alert(Test); aufrufe, bekomme ich immer, dass die Variable nicht definiert ist.
Kann mir jemand sagen, warum die nicht definiert ist, aber die Funkion trotzdem funktioniert? (Wenns geht ohne meinen Code komplett umzubauen, auch wenn er sicher verbesserungswürdig ist, aber ich verstehe ihn wenigstens einigermaßen )
Vielen Dank schon mal!