web-dev-qa-db-fra.com

Filtrage par distance basé sur une adresse comme référence

Étant conscient que l'API de géolocalisation HTML ne fonctionne pas sur tous les navigateurs sans utiliser le Wi-Fi, j'essaie d'utiliser une alternative plus précise pour présenter les éléments les plus proches de l'emplacement de l'utilisateur.

Je m'attends à ce que l'utilisateur entre une "référence de lieu", dans de nombreux cas, son adresse, puis s'attend à ce qu'il sélectionne la distance qu'il souhaite.
Bien sûr, ce serait la saisie semi-automatique afin que l'utilisateur n'ait pas à taper l'adresse exacte complète; éviter les fautes de frappe, etc.

Fondamentalement, cela serait représenté comme suit:

enter image description here

Ma question est: avec cette solution, comment pourrais-je faire respecter le fait que l'utilisateur DOIT sélectionner son adresse actuelle avant de sélectionner une distance plus restrictive que everywhere via le bouton radio?
En effet, cela n'aurait aucun sens d'avoir cet état:

enter image description here

Dois-je masquer TOUS les boutons radio jusqu'à ce qu'une adresse droite ait été définie?
Dois-je activer uniquement everywhere tant qu'aucune adresse n'a été définie?
Dans les deux cas, lorsqu'une bonne adresse est définie, une petite fenêtre contextuelle ou une animation avertit l'utilisateur qu'il peut désormais utiliser les boutons radio pour sélectionner la distance souhaitée.
(Techniquement, il est possible de déterminer si une adresse existe, donc ce ne serait pas un problème de s'attendre à une "bonne" adresse).

Ou dois-je changer complètement la nature de la solution?

Notez que l'adresse actuelle définie peut être enregistrée afin que l'utilisateur n'ait pas à la saisir à chaque fois qu'il utilise l'application, tant que l'adresse n'a pas besoin d'être modifiée.

1
Mik378

Cela dépend vraiment de vos objectifs.

SI vous collectez des adresses à des fins de marketing, il est bien sûr très utile d'encourager une adresse complète.

Si vous n'avez pas besoin de l'adresse pour la commercialisation, un système dans lequel vous demanderiez à l'utilisateur d'auto-affiner les données serait pratique. Par exemple: les faire entrer stat/province devrait d'abord supprimer une grande partie de la géographie, puis une ville permettrait un raffinement supplémentaire, le code postal puis leur adresse. De cette façon, l'utilisateur définit automatiquement ses critères de plage géographique sans avoir l'exigence supplémentaire d'un autre champ de formulaire.

Maintenant, si vous allez les forcer à entrer leur adresse complète, afficher les données de la plage mais les désactiver serait préférable. Ensuite, si l'utilisateur tente de cliquer sur un critère de plage autre que partout, une fenêtre contextuelle avec un message à l'effet de ...

Nous serions ravis de vous fournir des données plus raffinées, mais nous aurons besoin d'une adresse complète avant de pouvoir

Devrait faire l'affaire.

1
Patrick Pease

Faites en sorte que l'état par défaut de la boîte inclue une adresse par défaut - même si elle n'a aucun lien avec l'utilisateur. Un visiteur peut ne pas voir une case vide comme un état "incorrect", il peut donc ne pas savoir "le corriger" en entrant son adresse - mais il verra une adresse qui n'est pas la sienne comme "incorrecte" et la changera en la bonne adresse.

Si votre solution autorise des adresses incomplètes telles qu'un code postal ou une combinaison Ville/État, vous pouvez demander au serveur de regarder l'adresse IP de l'utilisateur et géolocaliser son code postal ou sa ville et son état et de le faire l'état par défaut de la boîte. La géolocalisation IP n'est pas toujours complètement précise, bien que dans ce cas, si l'utilisateur voit une entrée inconnue dans la boîte, la réaction naturelle est de la changer.

1
Tim