2010-08-02 9 views
15

Nur eine kurze Frage, die ich den folgenden Code aufgebaut haben:html5 Geolocation Genauigkeit

http://letterpool.testmode.co.uk/map.html

jedoch mit einigen Benutzern ich Berichte bin immer, dass die Menschen um einen 200-300 Meter von ihrem tatsächlichen Standort bekommen.

Weiß jemand warum?

+2

Welche Quelle haben diese Benutzer auf ihren Geräten - nur GPS, WLAN, Geo-IP? Haben sie andere Anwendungen, die genauer sind, oder ist es einfach die beste Vermutung, die Sie bekommen können? – Rup

+0

Ich habe es in einem Büro versucht, versucht über 3g auf meinem iPhone andere Leute haben auf anderen Geräten versucht. –

+1

HINWEIS: Warnung ("Leider können wir Ihren Standort nicht abrufen, weil Sie offline sind"); sollte "du bist" oder "du bist";) –

Antwort

7

Weil Geo-Standort nicht genau ist und nie gewesen ist. Sie bekommen wahrscheinlich den Ort der nächsten Anschlussdose.

Bei mir hat es das Rechenzentrum gefunden, wo mein ISP aus - Meilen entfernt arbeitet.

Siehe this Artikel.

+0

Was würdest du sagen, ist genauer? –

+3

@Oliver Bayes-Shelton - GPS, WiFi/Handy Triangulation wäre alles genauer, aber nicht perfekt. Und alle benötigen dedizierte Hardware und möglicherweise die Zustimmung des Benutzers. – Oded

+0

Danke für die Info. –

4

Geolocation hängt natürlich von den verfügbaren Positionsmessmethoden ab. Wenn der Browser nur die IP-Adresse hat, wird es sehr ungenau sein, aber wenn er Zugriff auf ein GPS-Gerät wie in einem Smartphone hat, wird es ziemlich gut sein.

25

Die W3C Geolocation API, die Sie verwenden, um Benutzer auf der Testkarte zu finden, ist absichtlich unabhängig von der Methode, die der Browser zum Suchen des Geräts verwendet. Dies ist ein nützlicher Vorteil, da die Geräte je nach Standort sehr unterschiedlich sind (GPS, WiFi-Triangulation, Zellturm-Triangulation, IP-Geolokalisierung, manuelle Eingabe usw.) und Ihre Website wahrscheinlich nicht mit all diesen Details umgehen möchte.

Wenn Sie jedoch nicht mit der Genauigkeit zufrieden sind, gibt es ein paar Möglichkeiten, die Sie nutzen können, die helfen können. Die Option enableHighAccuracy weist das Gerät an, dass es lieber etwas mehr Strom verbraucht, um einen präziseren Standort zu erhalten. Sie verwenden derzeit den Längen- und Breitengrad des Rückgabewerts, aber die API gibt auch einen Genauigkeitswert zurück, sodass Sie sehen können, ob die Position, die Sie erhalten, genau ist oder nicht. Sie könnten auch watchPosition verwenden, die den Standort kontinuierlich aktualisieren und möglicherweise eine präzise genug Lösung für Ihre Zwecke erhalten (die meisten mobilen Geräte neigen dazu, mit geringer Genauigkeit zu starten und verfeinert werden über ein paar Sekunden oder Minuten).

+2

Auch nützlich zu beachten, dass dies eine sehr neue Technologie (noch) ist und die Unterstützung über Browser ist nicht einheitlich. Ein aktueller Browser auf einem mobilen Gerät oder einem Laptop liefert Ihnen wahrscheinlich genaue Ergebnisse. Ein Gerät, das über Ethernet verbunden ist, gibt Ihnen nur ein Ergebnis, das so genau ist, wie die IP-Adresse zeigen kann, was möglicherweise nicht sehr genau ist. – Thor

Verwandte Themen