Javascript Handy Standort ermitteln
bearbeitet von Du> ich bin verzweifelt auf der Suche nach einem Javascript das den genauen Handy- (Mobilen) Standort ermittelt
Da musst du nicht verzweifeln, sondern einfach erstmal in die Anleitungen schauen, zum Beispiel [https://developer.mozilla.org/en-US/docs/Web/API/Geolocation/getCurrentPosition](https://developer.mozilla.org/en-US/docs/Web/API/Geolocation/getCurrentPosition).
Würdest du deinen Code sauber schreiben, wäre dir schnell aufgefallen, dass du getCurrentPosition() nicht, wie gewünscht, drei Parameter übergibst, sondern nur einen, und zwar eine anonyme Funktion mit merkwürdigem Inhalt. Übersichtlich eingerückt wird dein Fehler deutlicher:
> ~~~js
> navigator.geolocation.getCurrentPosition(
> function(position) {
> successFunction(position),
> errorFunction(),
> {
> timeout: 0,
> enableHighAccuracy: true,
> maximumAge: Infinity
> }
> }
> );
> ~~~
Davon unabhängig sollte timeout nicht 0 sein, denn 0 Millisekunden sind für die Funktionsausführung selbst bei Hektikern etwas arg wenig. Falls es egal ist, wie lange die Positionsbestimmung dauert, benutze Infinity bzw. lass' den timeout-Wert ganz weg, denn Infinity ist der Vorgabewert.
Ob es sinnvoll ist, maximumAge auf Infinity zu setzen und damit möglicherweise die Position von vorgestern zu bekommen, mag Ansichtssache sein (oder Anwendungssache).
~~~js
navigator.geolocation.getCurrentPosition(
function(position) { // wird aufgerufen, sobald Position bekannt
// position per Ajax an Server senden
},
function() { // wird aufgerufen, falls ein Fehler auftritt
/* … den wir hier geflissentlich ignorieren, um den
* Anwender nicht mit Fehlermeldungen abzulenken
*/
},
{
timeout: Infinity,
enableHighAccuracy: true,
maximumAge: 3600000 // eine Stunde
}
);
~~~
Falls es auch bei Ajax hapert: [https://developer.mozilla.org/en-US/docs/AJAX/Getting_Started](https://developer.mozilla.org/en-US/docs/AJAX/Getting_Started).