CARTOGRAPHIE DYNAMIQUE DE LA FRANCE AVEC UNE BASE MYSQL ET DES BALISES MAP

cs_LDDL Messages postés 33 Date d'inscription dimanche 27 avril 2003 Statut Membre Dernière intervention 7 mars 2013 - 30 juin 2010 à 10:27
cs_buchron Messages postés 15 Date d'inscription mercredi 24 mai 2006 Statut Membre Dernière intervention 19 octobre 2010 - 19 oct. 2010 à 18:19
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/51962-cartographie-dynamique-de-la-france-avec-une-base-mysql-et-des-balises-map

cs_buchron Messages postés 15 Date d'inscription mercredi 24 mai 2006 Statut Membre Dernière intervention 19 octobre 2010
19 oct. 2010 à 18:19
C'est parce que j'utilise une version compressée.

On peut certainement trouver la version non compressée sur le site de davidlynch : http://davidlynch.org/js/maphilight/docs/

N'hésite surtout pas à me dire si tu trouves d'où viens le problème!

Buchron
macleod7 Messages postés 15 Date d'inscription jeudi 21 avril 2005 Statut Membre Dernière intervention 21 septembre 2009
19 oct. 2010 à 18:15
Bonjour,
Je vous crois que ca marche chez vous avec FireFox 3.6.10
j'ai la meme version
Je cherche toujours le problème
Comme je vous l'ai dit j'ai deux fichier js, un qui fonctionne sous FF et pas sous IE et l'autre visce et versa, j'ai donc fait un hack c'est tout
Pour l'instant je me contente de ca
je vais pas modifier le js entre le votre et celui de jquery il y a 112 lignes de codes d'écart, c'est pas faute d'avoir essayé, mais bon voila.
cs_buchron Messages postés 15 Date d'inscription mercredi 24 mai 2006 Statut Membre Dernière intervention 19 octobre 2010
19 oct. 2010 à 17:40
Bonjour,

Étrangement, chez moi, ça a toujours fonctionné sous FF sur mon pc perso, au boulot ou encore chez des amis.

Ici, j'ai la version 3.6.10 je peux faire une capture d'écran au besoin!

Buchron.
macleod7 Messages postés 15 Date d'inscription jeudi 21 avril 2005 Statut Membre Dernière intervention 21 septembre 2009
18 oct. 2010 à 16:22
Bonjour
J'ai testé le lien que vous donnez ci dessus, sous IE8 cela fonctionne
le meme lien sous FF 3.6.10 ne fonctionne pas
Je sais que cela vient du fichier js
les balises map ne sont pas coloriées sous FF
cs_buchron Messages postés 15 Date d'inscription mercredi 24 mai 2006 Statut Membre Dernière intervention 19 octobre 2010
18 oct. 2010 à 15:35
De mon côté, j'ai testé sous FF et IE 8 ça fonctionne par contre sous IE9 (qui est encore une BETA) on ne voit pas les balises map se colorier.

Buchron
cs_buchron Messages postés 15 Date d'inscription mercredi 24 mai 2006 Statut Membre Dernière intervention 19 octobre 2010
12 oct. 2010 à 13:19
Bonjour,

Suite à votre commentaire, j'ai essayé de corriger le problème.

Pouvez-vous me dire si chez vous cela fonctionne à ce lien sous IE et FF ?

http://partir-en-vtt.com/balades_vtt/index.php

Si c'est le cas, je ferai une modification sur le tutoriel.

@ bientôt Buchron
macleod7 Messages postés 15 Date d'inscription jeudi 21 avril 2005 Statut Membre Dernière intervention 21 septembre 2009
2 oct. 2010 à 00:19
Bonjour,

Je me permet de vous écrire car je continue à peaufiner le site.

Lorsqu'on va sur le lien de la démo que vous proposer les département sont colorés en rouge sous IE8 et consor.
mais sous firefox il ne le sont pas, je viens de tester le lien sous les 2 navigateurs.

Le fichier jquery.maphilight.js que j'avais récupérer (le votre) me fait exactement la meme chose, je crois me souvenir que je vous en avez parlé, j'avais donc été sur le site de JQuery pour avoir ce fichier, et ce fichier fonctionne sous Firefox 3.6.10 mais pas sous IE8 et consor
Pourtant mes navigateurs sont à jours et je possède la dernière version.

La différences entre les deux fichiers est flagrante, il y a entre le fichier de JQuery et votre fichier 101 lignes de plus.

Je l'ai aient regardés pour voir les différences de code, mais étant donné l'importance de code en plus il n'est pas jouable de le modifier pour qu'il fonctionne sous les deux navigateurs.

Alors donc comme j'en ai un qui fonctionne sous IE8 et consor et un qui fonctionne sous Firefox, faute de mieux j'utilise les deux, sauf que pour un j'utilise un hack et cela fonctionne aussi bien sous les deux navigateurs,
cs_buchron Messages postés 15 Date d'inscription mercredi 24 mai 2006 Statut Membre Dernière intervention 19 octobre 2010
8 août 2010 à 17:01
Salut macleod7 :)Je pense que c'est toi que j'ai aidé par mail mais concernant la possibilité d'ajouter le nombre (de ce que vous voulez au survol de la souris), il suffit de faire une requête count() de vos objets de cette manière :

while( $tab = mysql_fetch_array($rslt_map ))
{
$chaine_geometrie = $tab['geometrie'];
$nom_dep = $tab['dept'];
$num_dep = $tab['num'];

//total des balades par departement$requete2 mysql_query('SELECT count(*) AS total_balade FROM balade WHERE vtt_oui_non 0 AND departement ='.$num_dep.'') or die(mysql_error());
$tab_nbre = mysql_fetch_array($requete2);
$total_balade = intval($tab_nbre['total_balade']);

//pluriel
if($total_balade == 1)
{
$pluriel ='Voir la seule balade du département';
}
else
{
$pluriel ='Voir les '.$total_balade.' balades du département';
}

?>

Puis d'utiliser la variable $pluriel dans la balise title"" d'un lien Hypertexte de cette manière :

" title="<?php echo ''.$pluriel.' '.$nom_dep.' ('.$num_dep.')' ; ?>" id="france" class="{fill:true,fill:'000000',fillColor:'C03000',strokecolor:'C03000',fillOpacity:0.5,alwaysOn:true}" coords=" <?php echo $chaine_geometrie;?>" href="/balades_vtt/departements/index.php?numdep=<?php echo $num_dep; ?>" />

Bien-sur penser à modifier le lien de redirection selon vos besoins.
Loïc
macleod7 Messages postés 15 Date d'inscription jeudi 21 avril 2005 Statut Membre Dernière intervention 21 septembre 2009
7 août 2010 à 17:03
Re

J'ai oublié le script fonctionne mais j'ai pas la coloration en rouge des départements, une idée ?
J'ai cherché, modifié, rien n'y fait.
Merci
macleod7 Messages postés 15 Date d'inscription jeudi 21 avril 2005 Statut Membre Dernière intervention 21 septembre 2009
7 août 2010 à 17:01
Bonjour,

effectivement il serait intéressant de connaitre l'astuce je cite
(L'astuce consiste à faire une requête dans la boucle while qui compte (count(*))le nombre d'objet d'une table et puis d'afficher le tout dynamiquement dans la carte.
)
Si vous pouviez l'afficher sur le site cela serait sympa, merci pour le script @+
cs_buchron Messages postés 15 Date d'inscription mercredi 24 mai 2006 Statut Membre Dernière intervention 19 octobre 2010
5 août 2010 à 16:31
Bonjour Wanou95b,

Je te remercie d'avoir pris le temps de faire un retour sur ce petit morceau de code :)
En plus si cela t'as été utile c'est encore mieux!

@+
wanou95b Messages postés 23 Date d'inscription lundi 31 mars 2008 Statut Membre Dernière intervention 5 juin 2009
5 août 2010 à 07:08
Salut Bucheron

Merci pour tous ces commentaires bien intéressants. J'ai pu améliorer mon site (intranet d'entreprise : gestion de la connexion aux imprimantes de mon entreprise, leader française de l'énergie) grâce a quelques astuces.

Et puis bravo aussi pour la qualité de ton site intranet qui est vraiment très bien réalisé.
cs_buchron Messages postés 15 Date d'inscription mercredi 24 mai 2006 Statut Membre Dernière intervention 19 octobre 2010
4 août 2010 à 20:08
Bonjour!

D'autres commentaires peut être ? Tout n'est pas parfait! :p

Aussi, je me permet de vous montrer une petite amélioration qui permet d'afficher le nombre de balades sur un département au passage de la souris (cela pourrait être le nombre de voiture à vendre...)

http://www.partir-en-vtt.com/balades_vtt/index.php

L'astuce consiste à faire une requête dans la boucle while qui compte (count(*))le nombre d'objet d'une table et puis d'afficher le tout dynamiquement dans la carte.

Pour les intéressés, faite le savoir pour que je modifie le code!
michel910 Messages postés 9 Date d'inscription vendredi 6 novembre 2009 Statut Membre Dernière intervention 15 mars 2011
7 juil. 2010 à 11:10
Bonjour. Merci pour tout, je vais voir si ceux qui m'ont aidé,peuvent encore le faire. Mais ce ne sera pas avant la rentrée en septembre car beaucoup sont sûrement en vacances. Pour ma part ( à 67 ans) il est un peu tard de me mettre à étudier.A bientôt.
cs_buchron Messages postés 15 Date d'inscription mercredi 24 mai 2006 Statut Membre Dernière intervention 19 octobre 2010
7 juil. 2010 à 08:54
Si tu n'y connais absolument rien, peut être alors que tu devrais commencer par apprendre l'HTML puis le PHP/MySQL. Il n'y à pas de miracle, il faut apprendre et du temps pour développer un site perso comme je l'ai fait pour le miens : www.partir-en-vtt.com.

Je te conseil d'aller sur le site du zéro pour te lancer dans cette grande aventure de la programmation web ;-)

Les étapes des modifications à apporter pour ton site seront :

-Changer la page qui créer une annonce en ajoutant un menu déroulant avec les départements pour que le créateur de l'annonce puisse dire dans quel département se situe l'objet.
-Changer la table dans ta base de données qui contient l'annonce en ajoutant un champ "departement" qui contiendra le numéro du bon département.

-Envoyer (héberger) les fichiers que j'ai fourni sur ton ftp
-Remonter le backup SQL que j'ai fournit qui contient les géométries des départements

A partir de la tu devras modifier ta page d'accueil en ajoutant le code donné ci-dessus et en le modifiant.

-Modification des chemins vers les fichiers javascript (les 3 lignes là ):

# <script type="text/javascript" src="/chemin_du_fichier/jquery-1.2.3.pack.js"></script>
# <!-- Plugin de coloration des balises map-->
# <script type="text/javascript" src="/chemin_du_fichier/jquery.metadata.min.js"></script>
# <script type="text/javascript" src="/chemin_du_fichier/jquery.maphilight.js"></script>

-Modification de la requête (selon tes noms de champs et de tables)

# $requete2 = 'SELECT geometrie, numero_dept, departement'
# . ' FROM liste_departement'
# . ' WHERE numero_dept'
# . ' IN (SELECT DISTINCT departement_annonce FROM annonces)' or die(mysql_error());

Ici tu as donc deux tables SQL, une qui contient la liste des départements et la geometrie (liste_departement) et une qui contient tes annonces avec un champ "departement_annonce" qui contient le numéro du département ou se situe l'objet.

Avec ceci, tu va être en mesure de colorier les départements qui contiennent des objets.

La finalité consiste à modifier les liens hypertextes dynamiques. En effet, en cliquant sur le département, la personne s'attend à trouver tous les objets du département.

Il faut donc que tu réorganises ou créer une page qui va faire en sorte de récupérer tout les objets d'un département.
C'est assez simple puisque chaque objet aura dans la base de données un numéro de département correspondant.

Donc ton lien dynamique devra prendre une variable que l'on appelle URL : http://tonsite.com/visualisation_annonces.php?num_dept=88

Que l'on récupérera en PHP sous la forme $_GET['num_dep'];

S'en suivra dans l'autre page une requête SQL dynamique du style. "SELECT * FROM annonce WHERE departement_annonce ='.$num_dep'";

Ce qui te permettra de lister les bon objets.

Loïc
michel910 Messages postés 9 Date d'inscription vendredi 6 novembre 2009 Statut Membre Dernière intervention 15 mars 2011
6 juil. 2010 à 14:10
re. Le problème pour moi est que je ne connais pas la programmation (php,html,javascript).Ce site a été réalisé avec un script tout fait. Et encore,comme il y avait des modifs à faire, des personnes sympas m'ont apporté leur aide bénévolement. Merci pour pour tes infos et à bientôt.
cs_buchron Messages postés 15 Date d'inscription mercredi 24 mai 2006 Statut Membre Dernière intervention 19 octobre 2010
6 juil. 2010 à 12:20
Je pense qu'il serait bien de la mettre en page d'accueil. Pour ce faire, il faut prendre le pack que je te mets à disposition. Tu héberges les fichiers javascript et l'image de la france sur ton FTP.

Ensuite, tu modifies les liens d'accès à ces fichiers dans le code donné.

Il faut ensuite modifier la façon dont tu gères tes annonces. En effet, il faut impérativement que l'utilisateur dise dans quel département l'objet se trouve pour que derrière tu puisses savoir quel objet est dans tel ou tel département.

Ensuite tu modifies la requête qui va aller chercher tes annonces par départements et la carte se coloriera en rouge ou il y à des objets à acheter.
michel910 Messages postés 9 Date d'inscription vendredi 6 novembre 2009 Statut Membre Dernière intervention 15 mars 2011
6 juil. 2010 à 10:53
re. Voici l'adresse: www.bidfree.fr , excuses moi pour l'oubli. A plus.
michel910 Messages postés 9 Date d'inscription vendredi 6 novembre 2009 Statut Membre Dernière intervention 15 mars 2011
6 juil. 2010 à 10:37
Bonjour. Oui ce site m'appartient totalement. C'est un site de petites annonces, et j'aurais aimé mettre cette carte interactive sur la page d'annonces ou la page d'accueil.

Merci pour ton aide et à bientôt.
cs_buchron Messages postés 15 Date d'inscription mercredi 24 mai 2006 Statut Membre Dernière intervention 19 octobre 2010
6 juil. 2010 à 09:14
Bonjour,

Est-ce un site qui t'appartient ? Peux-tu me montrer ou tu désires mettre cette carte.

@ + loïc
michel910 Messages postés 9 Date d'inscription vendredi 6 novembre 2009 Statut Membre Dernière intervention 15 mars 2011
5 juil. 2010 à 17:58
Bonjour. J'ai téléchargé le script, et ma question est: ou mettre ces codes sur un site de petites annonces déjà existant? Toute la marche à suivre sera la bienvenue. Merci et à bientôt.
cs_buchron Messages postés 15 Date d'inscription mercredi 24 mai 2006 Statut Membre Dernière intervention 19 octobre 2010
2 juil. 2010 à 13:35
Hi ;-)

Oui certes, il était temps mais quid des nombreux utilisateurs qui vont rester combien d'années sous IE6, 7 ou 8 car IE ne force pas les mises à jours comme peut le faire Firefox...

Donc, je préfère attendre que disparaisse ce problème pour déployer la force de SVG...

Après, nous rentrons dans un débat de fond et sans fin, je proposais juste un truc "simple" qui fait ce qu'on lui demande. Alors bien-sûr cela n'a pas la classe ni l'élégance de certaines choses faites en flash (dont je ne maîtrise en rien la technicité et qui m'attire pas...) mais ce que je propose a je pense le mérite d'exister ;-)

Bonne continuation à vous!
Loïc
opossum_farceur Messages postés 147 Date d'inscription lundi 16 août 2004 Statut Membre Dernière intervention 14 novembre 2009
2 juil. 2010 à 11:08
Hi!
Le temps où SVG requérait pour fonctionner sur IE le plugin SVGViewer, est en passe d'être révolu.
A en croire :
http://www.macgeneration.com/news/voir/159821/internet-explorer-9-troisieme-preview
SVG "serait" maintenant intégré à IE9.
Il faut croire que Microsoft a dû s'inquiéter des parts de marché qui lui échappaient, à cause il me semble des applications cartographiques comme GoogleMap toutes basées sur JavaScript et SVG et trainant des pieds pour les adapter à des technologies propriétaires comme VML.
cs_buchron Messages postés 15 Date d'inscription mercredi 24 mai 2006 Statut Membre Dernière intervention 19 octobre 2010
2 juil. 2010 à 08:21
Salut l'ami ;-)

Je connais bien SVG, j'avais une base PostGIS avant et j'utilisais la fonction asSVG() de ce SGBD. Malheureusement après analyse de mes statistiques, beaucoup d'utilisateurs butaient sur cette page du fait que leur navigateur ne supportait pas ou mal SVG. Ces même utilisateurs ne voulaient au final pas installer le plugin. Bref, c'est pour cela que j'ai mis quelque chose de plus simple qui ne fait plus office de barrière à mes lecteurs.

Loïc
opossum_farceur Messages postés 147 Date d'inscription lundi 16 août 2004 Statut Membre Dernière intervention 14 novembre 2009
1 juil. 2010 à 22:48
Hi!
Pour illuminer un département au survol de la souris, il y a aussi le dessin vectoriel avec SVG, censé être intégré à MIE dans sa version 9 et présent dans FF depuis Mathusalem.
Je me suis suis intéressé aussi aux contours des départements avec ce script :
http://www.phpcs.com/codes/SVGMORPHING_46682.aspx
qui peut d'ailleurs être intégré dans une page comme celle de
buchron pour lui conférer un aspect plus vivant.
cs_buchron Messages postés 15 Date d'inscription mercredi 24 mai 2006 Statut Membre Dernière intervention 19 octobre 2010
1 juil. 2010 à 21:10
Je trouve que Cmap était une usine à gaz par rapport à mon besoin et ne faisait pas ce que je voulais. Si je me souviens bien au final pas totalement libre de droits et payants parfois...

Loic
wanou95b Messages postés 23 Date d'inscription lundi 31 mars 2008 Statut Membre Dernière intervention 5 juin 2009
1 juil. 2010 à 18:42
cs_buchron Messages postés 15 Date d'inscription mercredi 24 mai 2006 Statut Membre Dernière intervention 19 octobre 2010
30 juin 2010 à 20:55
Bonjour ;-)

A la pelle et bien j'ai du mal chercher... mais comme tu le dis c'est pour partager et aider quelques personnes qui comme moi n'ont pas trouvé ce qu'ils cherchaient!

Avec maphilight, tu peux "illuminer" les balises Area comme tu dis au passage de la souris (fais une recherche sur maphilight et après il reste à adapter le code ;-)

Sinon pour exemple : http://davidlynch.org/js/maphilight/docs/demo_world.html

Loïc
wanou95b Messages postés 23 Date d'inscription lundi 31 mars 2008 Statut Membre Dernière intervention 5 juin 2009
30 juin 2010 à 19:52
Salut Buchron.
Ce genre de script existe à la pelle sur le NET. C'est dommage que tu t'es embêté avec GIMP. J'ai eu ce besoin pour un site et j'ai trouvé mon bonheur sur le net.
En plus, ta carte n'est pas très "clean". Su tu es interessé, je te filerai mon script qui fait la même chose, mais avec des balises AREA.
Mais tout ton mérite est de partager ton travail.
Ce que je n'ai jamais vraiment trouvé ce sont des sources "libres" de carte full dynamique, c'est à dire que le département "s'illumine" quand on passe la souris dessus (avec du flash).
A+
cs_buchron Messages postés 15 Date d'inscription mercredi 24 mai 2006 Statut Membre Dernière intervention 19 octobre 2010
30 juin 2010 à 11:20
Salut,

Très bien si cela peut te servir! A savoir que l'on utiliser une autre carte (Europe, monde...) et l'adapter à ce morceau de code. Il "suffit" de dessiner les zones "MAP" sous GIMP puis de créer la base avec le noms des pays (ou de ce que vous voulez) en y mettant la géométrie en face ;-)

Mais ici vous avez de la chance, je vous ais mis la base toute prête pour tous les départements Français :p

Loïc.
cs_LDDL Messages postés 33 Date d'inscription dimanche 27 avril 2003 Statut Membre Dernière intervention 7 mars 2013
30 juin 2010 à 10:27
Ha ben j'avais justement ce type de besoin ! reste plus qu'a tester alors...

thk.