On 11/04/2012 22:36, André Lefranc wrote:
Le 07/04/12 15:25, Gérald Yart a écrit :
Bon, je me décide enfin à vous faire parvenir les scripts réalisés
par mon fiston concernant la génération d'une carte de
géolocalisation tel qu'ici : http://www.cavaliersaulongcours.com/Map
Il vous faudra avant toute chose créer les champs dynamiques
"Latitude" et "Longitude" (type ligne simple et non obligatoire).
Ensuite vous télécharger, décompressez et installez les fichiers
joints sur le serveur où est installé Galette. Le fichier compressé
contient les répertoires et fichiers suivants :
* images (rép.) : contient les images utilisées dans l'application
* script (rép.) : contient les fichier Javascript utilisés dans
l'application
* affiche_image.php (fic.) : Récupère dans la table galette_picture
l'image de l'adhérent dont l'identifiant est envoyé en paramètre
dans l'URL
* create_xml.php (fic.) : Récupère les informations relatives aux
adhérents dans la base de données et renvoie un fichier XML qui
sera lu par le code API Google Map.
* remplir_coord_adherents.php (fic.) : Récupère les adresses des
adhérents dans la base de données, récupère les coordonnées
géographiques correspondantes à l'aide du service de géocodage de
l'API Google Map et les enregistre dans la table
galette_dynamic_fields.
* index.html (fic.) :
Utilisation :
Une fois l'application installée (penser à vérifier les chemins des
répertoires), exécuter le fichier remplir_coord_adherents.php.
attention : sur des versions récentes ? de galette, le fichier
"config.inc.php"
a pour chemin :
include('../galette/config/config.inc.php')
changer dans [remplir_coord_adherents.php] et [create_xml.php]
Celui-ci va récupérer les adresses des adhérents dans la table
"galette_adherents", les envoyer au service de géocodage de Google
Maps puis écrire les coordonnées géographiques dans la table
"galette_dynamic_fields".
là j'ai obtenu une erreur :
## L'exécution de la requête a retourné une erreur : Cannot add or
update a child row: a foreign key constraint fails
(`namd_galette`.`galette_dynamic_fields`, CONSTRAINT
`galette_dynamic_fields_ibfk_1` FOREIGN KEY (`field_id`) REFERENCES
`galette_field_types` (`field_id`))
## Que faire ?
Oups pardon, J'ai oublié de préciser que dans le fichier
remplir_coord_adherents.php il fallait changer les valeurs des champs
field_id, je m'explique : quand vous créez les champs Latitude et
longitude, le noms de ces nouveau champs sont rangés sous forme
d'enregistrements dans la table galette_dynamic_fields. Il faut donc
remplacer la valeur des identifiant (champ field_id) par les valeurs que
vous avez dans votre table (je ne suis pas sûr d'être très clair sur ce
coup là !!)
En résultat vous aurez une page qui affiche la liste des adhérents
dont le géocodage s'est bien passé et/ou la liste des adhérents dont
le géocodage s'est mal passé :
*Opération terminée :
- 1 adresse a été géocodée avec succès :*
Gérald Yart : lat : 47.6316470° ; lon : 1.8547100°
*- Aucune adresse n'a pas pu être géocodée*
*ATTENTION : seules les nouvelles adresses de la table
galette_adherents ont été géocodées.
Pour modifier les coordonnées géographiques d'un adhérent dont
l'adresse a déjà été géocodée il faut le faire manuellement via la
fiche adhérent galette
*
Pour afficher la carte il vous suffira d'exécuter le fichier
index.php. Après l'utilisation du fichier
remplir_coord_adherents.php, le chargement de la carte est un peu
long, c'est normal. Si on veut relancer l'application pour un ou
plusieurs adhérents déjà géocodés (déménagement, erreur dans
l'adresse, etc.), il suffit d'aller vider les champs Latitude et
Longitude dans les fiches des adhérents concernés.
L'affichage ne se fera que si l'adhérent est "actif" et si la case
"Je souhaite apparaître dans la liste des membres" est cochée.
Afin de rendre l'affichage plus lisible, nous avons effectué des
regroupements d'adhérents en fonction du niveau de zoom.
Voilà voilà, j'espère que ça servira à plein de gens, ce qu'il
faudrait pour simplifier la chose c'est intégrer les champs latitude
et longitude à la table galette_adhérent dans un prochaine version d
eGalette.
Gérald
--
Mail réalisé uniquement à partir d'électrons recyclés
_______________________________________________________________________
Gérald Yart
47° 38' 0 "N, 1° 51' 14" E
_______________________________________________________________________
_______________________________________________
Galette-discussion mailing list
Galette-discussion@gna.org
https://mail.gna.org/listinfo/galette-discussion
_______________________________________________
Galette-discussion mailing list
Galette-discussion@gna.org
https://mail.gna.org/listinfo/galette-discussion
--
Mail réalisé uniquement à partir d'électrons recyclés
_______________________________________________________________________
Gérald Yart
47° 38' 0 "N, 1° 51' 14" E
_______________________________________________________________________
_______________________________________________
Galette-discussion mailing list
Galette-discussion@gna.org
https://mail.gna.org/listinfo/galette-discussion