Ich möchte nicht, dass der Nutzer Google Gears installiert, damit ich ihm seinen vermuteten Standort zeigen kann. Gibt es eine Möglichkeit, den Standort zu ermitteln, ohne Google Gears verwenden zu müssen?
Ich habe Ссылка gefunden, aber es bietet kein Beispiel.
Dies wird normalerweise IP Geolocation genannt.
Ein Beispiel ist hier .
Die Sache ist, die meisten Websites (wenn Sie planen, dies als Web-Service zu nennen) werden Sie dafür belasten. Andernfalls werfen Sie einen Webdienst zusammen, der eine Geolokalisierungsseite erfasst, für die Adresse analysiert und diese Information zurückgibt.
In PHP scheint das ziemlich gut zu funktionieren:
%Vor%Google bietet eine Möglichkeit, den Nutzerstandort über seinen AJAX-API-Loader zu ermitteln. Dies funktioniert sogar ohne installierte Gears. Fügen Sie einfach ein Skript-Tag ein, das auf die JsAPI verweist:
%Vor%Wenn eine Anwendung den AJAX-API-Loader verwendet, versucht der Loader, den Client basierend auf seiner IP-Adresse zu lokalisieren. Wenn dieser Prozess erfolgreich ist, wird der Standort des Clients, der auf die Metro-Ebene beschränkt ist, in der Eigenschaft google.loader.ClientLocation verfügbar gemacht. Wenn der Prozess keine Übereinstimmung findet, wird diese Eigenschaft auf null gesetzt.
%Vor%Wenn das Objekt google.loader.ClientLocation ausgefüllt ist, werden folgende Granularitätseigenschaften auf Metro-Ebene verwendet:
ClientLocation.latitude
- liefert die niedrig aufgelöste Breite, die der IP-Adresse des Clients zugeordnet ist ClientLocation.longitude
- liefert die niedrig aufgelöste Länge, die der IP-Adresse des Clients zugeordnet ist ClientLocation.address.city
- liefert den Namen der Stadt, die der IP-Adresse des Kunden zugeordnet ist ClientLocation.address.country
- Liefert den Namen des Landes, das der IP-Adresse des Kunden zugeordnet ist ClientLocation.address.country_code
- liefert den Namen des ISO 3166-1-Ländercodes, der der IP-Adresse des Clients zugeordnet ist ClientLocation.address.region
- liefert den länderspezifischen Regionsnamen, der der IP-Adresse des Clients zugeordnet ist Eine Sache, auf die Sie bei einem Geolocation-Service oder einer Bibliothek achten sollten, ist, dass sie nie hundertprozentig genau sein werden. Wir verwenden einen IP2Location und es war eine ständige Quelle von Beschwerden an unseren Kundenservice. Wir suchen nach Wegen, um das Verhalten der Website zu verändern und die Faktoren, die eine vollständige Entfernung des Objekts bewirken, zu bewerten.
Das Problem liegt in der Tatsache, dass die Last der Zuordnung der IP zu einem Benutzer mit dem Benutzer-ISP verbunden ist. Sie haben große Blöcke von IP-Bereichen und sie registrieren, welche Blöcke zu einem bestimmten Ort gehören. Das Problem ist, dass ISPs diese Informationen oft nicht aktualisieren, wenn sie Blöcke verschieben oder ein Block einen zu großen Bereich abdeckt.
Zum Beispiel lebe ich etwa 60 Meilen nördlich von Manhattan, aber meine IP zeigt oft, dass ich in Chicago mit den meisten Nachschlagewerkzeugen bin. Ich habe FIOS und habe mit ein paar anderen Leuten gesprochen, die das gleiche Verhalten bestätigt haben.
Wenn Ihre Nutzer mobil sind, ist Xitfy auch eine kostenlose Option. Sie haben einen kleinen Client, der nach der Zustimmung des Benutzers nahtlos auf ihrem Mobilteil installiert werden kann. Sie können dann eine REST-basierte API aufrufen, um ihr genaues Breiten- / Längenverhältnis von gps / wifi oder Mobilfunkmasten zu erhalten.
Sie unterstützen Android, Windows Mobile, BlackBerry und Symbian, die fast alle Smartphones abdecken.
Sie können die IP-Adresse mit diesem einfachen Code geocodieren. Es funktioniert großartig. Versuchen Sie Folgendes:
%Vor%Tags und Links google-maps geolocation google-gears