Le Script utilise la puissance des APIs de géolocalisation pour automatiquement, d'une adresse (ville ou code postal) saisie par l'utilisateur, en déduire la localisation incluant région, département, ville, code postal et coordonnées GPS. Cependant, dans certains cas, on souhaite autoriser des annonces uniquement sur une liste de villes (localités) prédéfinies. Uniquemenet ces villes seront proposées aussi bien lors de la création d'un annonce ou lors d'une recherche. Ce mode peut être également être utilisé pour une gestion statique des localisations, c'est à dire sans recherche à partir de l'adresse saisie de la localisation.
Pour activer ce mode, allez dans ADMIN > CONFIG > LOCALISATION
et choisir l'option statique
dans le chap localisation basée sur...
:
Pour le formulaire de création d'annonce (ou d'usager), 2 options sont possible pour choisir le ville :
Option A : saisie libre assistée de l'adresse : l'utilisateur est assisté lors de la saisie de la ville ou du code postal.
Option B : Saisie par étapes en choisissant tour à tour : la région, puis le département, puis la ville.
Pour choisir l'option saisie par étapes , allez dans ADMIN > CONFIG > LOCALISATION
:
Dans le mode saisie par étape, il est possible de choisir les étapes et les limiter à 3 (région > département > ville) , 2 (région > ville) ou 1 seule étape (ville) comme indiqué ci-dessous
Barre de recherche : Recherche limitée à la liste prédéfinie
Dans ce mode, la barre de recherche affichera aussi la liste limitée. 2 modes sont possibles :
recherche par saisie libre assistée :
recherche par étapes :
Pour afficher la localisation statique en étapes, il faudra choisir l'option suivante dans la barre de recherche :
Ce mode n'est pas compatible avec le champ liste des régions|départements|pays
qui ne doit être utilisé que pour des localisations dynamiques.
Dans le mode saisie par étape, il est possible de choisir les étapes et les limiter à 3 (région > département > ville) , 2 (région > ville) ou 1 seule étape (ville) comme indiqué ci-dessous
La liste des villes / département et régions autorisées est configurable via ADMIN > CATEGORIES/CHAMPS > Localités Statiques
.
Une interface permet d'entrer des nouvelles villes et code postaux.
En cliquant sur geocoder les entrées
,
le Script va automatiquement compléter les champs région, département, ville (réelle) et code postal (réel) en utilisant une API de
géolocalisation. L'API utilise simplement la ville (in
) et le code postal (in
). Les autres champs sont automatiquement complété par les résultats de l'API. Pour qu'une nouvelle entrée soit traitée, il faut que la ville (in
) soit non vide et que le champ coordonnées GPS
soit vide.
Une fois complétés, le nom du service API utilisé géocoder (le Géocodeur) est indiqué dans le champ encoded
.
Plueieurs géocodeurs sont supportés. Le choix du géocodeur peut être configuré ici :
Pour les APIs MapBox
et OpenCage
, il est nécessaire de saisir une clé secréte que vous fournira cet opérateur aprés inscription chez lui. Pour l'API google map
, on urilisera la clé générale renseignée ci-dessous. Pour les autres APIs, il n'est pas necessaire d'undiquer une clé.
Si la géolocalisation s'est bien passée, les coordonnées GPS sont indiquées. On veut alors vérifier l'emplacement sur une carte en cliquant sur les coordonnées :
Il est bien sur possible de renseigner à la main l'ensemble des champs pour un résultat identique.
Une fois la géolocalisation effectuée, on DOIT générer le fichier tampon (CACHE) qui sera utilisé par le site principal comme localités autorisées. Cliquez sur mettre à jour le cache
:
Le fichier tampon ([CODE
]_cache.json) contenant toutes les villes autorisées ainsi que les détails de localisation. Le CODE
du fichier aura le nom du champ renseigné dans sous-code pays
Attention, il est impératif de renseigner le sous-code pays
et de générer le fichier tampon sans quoi la liste ne s'ffichera pas sur le site principal.
Le fichier contient les détails suivants et est stocké dans le répertoire phpsvr/locations/
Il est possible de le modifier avec un éditeur de texte pour plus de rapidité mais en case de rafraichissement via la commande mettre à jour le cache
, il sera écrasé par les données de la table.
L'administration des localités, permet de faire des vérifications d'incohérences ou de manque de données sur la liste.
Par exemple : vérification si les villes saisie (in
) sont identiques aux villes trouvées par l'API
Un outil de test des APIs de localisation est disponible à l'adresse {votre domaine}/pages/test-geoloc.php
. Il perment, pour une ville ou un code postal donnée de voir les résultats des différentes APIs possible disponibles avec le Script.