Geolocation-ohne Aufforderung
Weiß ich über die HTML5 Weise zu tun, geolocation, aber der Nachteil ist, dass es den Benutzer auffordern, für die Erlaubnis.
navigator.geolocation.getCurrentPosition
Wird es besonders ärgerlich ist, wenn ich tun möchte, geolocation rechts auf der Startseite zu dienen, personalisierte Inhalte basierend auf dem Standort: niemand mag eine Eingabeaufforderung jedes mal, wenn er Ihre Website besucht.
Die Idee ist, externe Dienste zu tun, geolocation anhand der IP-Adresse oder etwas ähnliches, um eine weniger genaue Schätzung der Position des Benutzers und geben dem Benutzer eine Eingabeaufforderung nur, wenn dieser Ort wirklich aus. Gibt es irgendwelche guten Vorschläge für die Dienstleistungen, die ich für diesen Zweck nutzen kann?
Ich weiß, Google hat das auch schon gemacht: aktuelle Lage. Es zeigt deine aktuelle Position an, ohne dass Sie keine Eingabeaufforderung. Weiß jemand, wie dies zu tun?
Der MaxMind-Datenbank ist gut, aber das würde erfordern die Pflege von einem riesigen IP-Datenbank für genau diesen Zweck. Eine API oder einen Google-Dienst bevorzugt wird.
Ich derzeit verwenden Sie das location-Objekt zurückgegeben, die von der Google-Loader zur Abschätzung der Lage, aber es ist weniger genau als die Google-Suche Beispiel oben.
google.loader.ClientLocation.latitude
google.loader.ClientLocation.longitude
- Google zeigt mir eine Stadt in den Staat von mir, zu Fragen, während für den Standort eines Benutzers ist wahrscheinlicher, um genau zu sein. Warum nicht einfach mal Fragen, und speichern Sie es?
- Ich bin das bereitstellen von Inhalten, macht Gebrauch von der aktuellen Position auf der homepage. Es würde schwierig sein, zu geben eine Eingabeaufforderung für erstmalige Besucher. Ich werde natürlich speichern Sie diese info, wenn ich bin sicher, dass seine oder Ihre Lage.
- Für Bedenken hinsichtlich der Privatsphäre diese Daten nicht abgeholt werden, wird aus dem browser, ohne dass der Benutzer zum ersten mal. Mithilfe der IP-basierten Diensten ist Ihre beste Wette, aber es hat seinen eigenen besten Vermutungen. Auch last ich habe (2-3 Jahre her) wurde es angeboten als Kostenpflichtiger service. Ich erinnere mich nicht an die Dienste habe ich überprüft, obwohl, sorry.
- Ich merke so etwas wie die Google Geolocation API. Aber ich fürchte, ich kann nicht genug (finanzielle) Ressourcen für die, die im moment.
- Mögliche Duplikate von js-geolocation-aber ohne Nachfrage - möglich?
- Warum nicht speichern Sie die lat-und long-Antwort in einem cookie? Überprüfen Sie, ob Sie die Cookies jedes mal, wenn der Benutzer lädt die Seite hoch? Wenn das cookie nicht vorhanden ist oder wenn er null ist (abgelehnt), dann haben Sie entweder nie erlaubt, Ihre browser bieten die lat und long oder absichtlich nicht zugelassen hat, Dann ist die html5-geolocation-Methode nicht aufgerufen wird. Voila.
- Nein, ich muss wissen, Ihre aktuelle position, wenn Sie das erste mal die Seite betreten. Wenn das cookie nicht vorhanden ist und ich nicht rufen Sie die geolocation-Methode, voila, ich habe keine Ahnung, wo der Benutzer ist. Wenn ich die Methode aufrufen, ich habe nur noch genervt alle das erste mal Besucher. Cookie kann nicht lösen das problem mit dem ersten mal Besucher.
- Was ich gemacht habe, ist in diesem Fall versuchen, die nächsten Ungefähre geolocation-basierend auf Ihrer IP-Adresse mit Hilfe eines käuflich erworbenen Datenbank von IPs. Verständnis, dass IP-geolocation nicht so genau, wir haben dann die option Hinzugefügt, um zu ändern Ihre Lage durch browser-API und dann gespeichert, dass Sie in Ihrem computer in einem cookie für zukünftige Besuche. Das ist das beste, was Sie tun können, ohne der Verletzung der Privatsphäre Maßnahmen integriert in den browser.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Euch das nichts ausmacht mit 3rd-party-API, können Sie unseren service nutzen https://ip-api.io . Es arbeitet mit client-IP-Adresse und benötigt keine Erlaubnis vom Nutzer.
Javascript-Beispiel:
Dann können Sie sich in Lage von
result.latitude
undresult.longitude
. https://ip-api.io bietet viel mehr Daten wie Land, Stadt, Postleitzahl, Zeitzone und ob diese IP-Adresse ist Bots, spammer oder TOR-Knoten.Google
current location
funktioniert nur, weil Sie gab Google das Recht zu, Ihre Lage an einem gewissen Punkt in der Zeit auf, die bestimmten browser. Wenn Sie zu öffnen, jedem neuen browser und tun die gleiche Abfrage, würden Sie sehen, dass es nur die Ausbeute eines viel allgemeineren Lage.Ich habe versucht, die Antwort zu finden, um diese selbst, und Sie waren auf dem richtigen Weg mit Google loader. Das problem ist, dass es mehr oder weniger veraltet aufgrund der Zuverlässigkeit und Genauigkeit der HTML5 bietet.
Ich bin sehr neugierig, wenn Sie jemals finden einen workaround. Einige Leute könnten vorschlagen, maxmind, aber ich fand es, so genau zu sein (wenn ungenau) als google.loader.
Macht es Sinn, warum ein browser veranlassen würden für diese Informationen, ich bin nur überrascht es nicht eine Art workaround/hack anderes als mit IPs.