Ich erstelle eine Webanwendung, für die Benutzer ihren Standort angeben müssen (ähnlich wie Facebook). Ich bin mir nicht sicher, wie ich das am besten umsetzen kann. Ich benötige die Fähigkeit, Datensätze einer anderen Entität zu durchsuchen (nennen Sie sie "Ereignisse"), an die auch ein physischer Standort gebunden ist, und die Benutzer am gleichen oder nahe genug gelegenen Ort abzugleichen. Ich benötige nur eine Lösung für einzelne Städte.Best Practices für den physischen Standort des Benutzers (Eingabe, Datentyp, Anzeige und Überprüfung)
Die Art, wie ich dem Benutzer erlaube, seinen/ihren Standort anzugeben (einschließlich Validierung und wie Freiform würde ich diese Eingabe zulassen), die Art und Weise, dieses Feld in der DB usw. zu speichern, hängen offensichtlich voneinander ab. Mein derzeitiger Gedanke ist es, einen freien Eintrag zuzulassen, als eine Textzeichenfolge zu speichern und eine Übereinstimmung zu finden, indem die Ortszeichenfolge in ein Array (getrennt durch Kommas und Punktzeichen) aufgeteilt wird und dann das Benutzerpositionsarray mit dem Ereignisortsarray verglichen wird.
Gibt es eine Möglichkeit, dass ich das Problem für mich selbst lösen kann, indem ich mich gegen eine Liste von Standorten wende, die von einem Webdienst bereitgestellt werden? Wie werden diese Probleme normalerweise behandelt?
Jede Hilfe würde sehr geschätzt werden!
+1 für Geolocation-API – Gordon
Ich bin mir nicht sicher, wie die Geolocation-API mir helfen kann - wenn der Benutzer einen ungültigen Standort angibt, der nicht mit der API validiert wird, dann ein Abstandsmaß zwischen dem Benutzer und dem Standort des Ereignisses (was mit einer Straßenadresse/Google Location API 'place' viel besser spezifiziert werden soll ist nicht möglich. – ubermensch
Sie können die geo-API verwenden, um den Standort des Benutzers von Geräten wie dem iPhone zu ermitteln, ohne dass sie ihren genauen Standort manuell eingeben müssen. Natürlich kann es für Sie nützlich sein oder auch nicht, abhängig von der Art der Anwendung, an der Sie gerade arbeiten. –