Announcement

Collapse
No announcement yet.

Android 10 und navigator.geolocation

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Android 10 und navigator.geolocation

    Hallo zusammen,

    zuletzt war ich eher im vb.net Bereich unterwegs, aber jetzt zieht es mich doch eher in den Webbereich :-)

    Ich habe das Problem, dass bei Aufruf von navigator.geolocation.getCurrentPosition im Callback veraltete (gecachte?) Werte zurückgegeben werden. Das heißt sowohl die Rückgabewerte position.coords, als auch position.timestamp sich nicht ändern. Auch die position.coords.accuracy ist sehr hoch. Nutze ich jedoch navigator.geolocation.watchPosition, dann ändern sich die Werte, der Timestamp ist immer aktuell und die Genauigkeit ist sehr hoch (4).
    Allerdings möchte ich navigator.geolocation.watchPosition nicht verwenden, da dadurch meine Funktionen sehr häufig aufgerufen werden und somit auch ein intensiver Akkuverbrauch gemacht wird.
    Ich habe übrigens auch bereits probiert, navigator.geolocation.watchPosition mit anschließenden ".clearWatch" in einer Schleife mit Abstand von 5 Sekunden zu machen. Aber dann ist es wie bei navigator.geolocation.getCurrentPosition und die Rückgabewerte verändern sich nicht mehr.

    Seit Tagen versuche ich bereits das Problem zu lösen, aber ich komme nicht drauf was die Ursache ist.
    Das Problem tritt auf mehreren Android Smartphones auf.

    Anbei der vereinfachte Code:

    Code:
        function showPosition() {
            if(navigator.geolocation) {
                navigator.geolocation.getCurrentPosition(function(position) {
                    var positionInfo = "Your current position is (" + "Latitude: " + position.coords.latitude + ", " + "Longitude: " + position.coords.longitude + ")";
                    document.getElementById("result").innerHTML = positionInfo;
                }, function(error){}, {enableHighAccuracy: true, maximumAge: 4500, timeout : 20000});
            } else {
                alert("Sorry, your browser does not support HTML5 geolocation.");
            }
        }

  • #2
    Schon mal mit den Options von getCurrentPosition gespielt.... -> maximumAge

    https://developer.mozilla.org/de/doc...urrentPosition
    Christian

    Comment


    • #3
      Leider ja. Es macht keinen Unterschied ob ich den Parameter weglasse (Default ist ja 0) oder ob ich den Parameter auf 0 setze.

      Interessant ist auch, dass der Wert aktualisiert wird wenn zwischendurch mal Google Maps auf dem Handy geöffnet wird. Anschließend werden im o. g. Beispiel die Rückgabewerte aktualisiert.

      Comment

      Working...
      X