IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Cartographie dynamique en lien avec base de données


Sujet :

JavaScript

  1. #1
    Membre habitué
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    1 015
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 1 015
    Points : 182
    Points
    182
    Par défaut Cartographie dynamique en lien avec base de données
    Bonjour à tous,

    J'ai trouvé un code sur internet pour créer une carte en relation avec une base de données.
    Mais j'aimerais savoir si c'est possible d'ajouter une fonction qui affiche de la couleur sur le departement quand la souris passe dessus? (onmouseover)
    Si quelqu'un pouvait m'aider, merci.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    <center>
    	<!--Cartographie dynamique utilisation de la classe maphilight de jquery-->
    	<!-- il est nécessaire d'avoir jquery pour pouvoir colorier les images maps automatiquement (vous devez changer les liens qui pointes sur ces fichiers donnés dans le package-->
    	<script type="text/javascript" src="jquery-1.2.3.pack.js"></script>
    	<!-- Plugin de coloration des balises map-->
    	<script type="text/javascript" src="jquery.metadata.min.js"></script>
    	<script type="text/javascript" src="jquery.maphilight.js"></script>
    	<script>
    	$(function() {
    		$('.map2').maphilight({fade:true});
     
    	});
     
    	</script>
     
    	<?php
     
            $requete2 = 'SELECT * FROM dep';
                                    
            $rslt_map = mysql_query($requete2);     
            
     
            ?>
     
    	<img id="image" src="carte.png" border="0" alt="Cartographie" title="Cartographie" class="map2" usemap="#france" width="515" height="715" />
    	<map name="france">
    	<?php
            //tant qu'il y a des départements à créer...je récupère la géométrie le numero de département et son nom
            
     
     
            while( $tab = mysql_fetch_array($rslt_map ))
            
            {
                    
                    $nom_dep = $tab['de_titre'];
                    $num_dep = $tab['de_num'];
                    $num_info = $tab['de_info'];
                    $num_url = $tab['de_url'];
                    $chaine_geometrie = $tab['de_geom'];
                    
                    
                    $site_relais = $tab['deptmp_site'];
                    
            ?>
            <!--Puis on créer la balise map avec des infos sur l'infobulle et un lien hypertexte dynamique (propre à mon site) 
            ces balises map seront colorer en rouge dans mon cas grace au plugin maphilight de jquery-->
            <!--On peut imaginer que les liens hypertextes soient rattachés à votre base de données dans un champ "url"-->
            
            <br>
     
            
                    <area shape="poly"  alt="<?php echo 'Liste '. $nom_dep.' ('. $num_dep.')' ; ?>" title="<?php echo $nom_dep.' ( '.$num_dep.' )';?>" id="france" class="{fill:true,fill:'000000',fillColor:'C03000',strokecolor:'C03000',fillOpacity:0.1,alwaysOn:true}" coords=" <?php echo $chaine_geometrie;?>" href="<?php echo $num_url; ?>" />
     
     
            <table>
     
            <tr>
        <td>Site relais:</td>
            <td><?php echo $site_relais;?></td>
     
    	</tr>
     
    	</table>
     
     
    	<?php
            }
            echo '</map>'; ?>

  2. #2
    Membre habitué
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    1 015
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 1 015
    Points : 182
    Points
    182
    Par défaut Cartographie dynamique en lien avec une base de données
    En cherchant, j'ai trouvé un code plus adapté à ce que je veux faire et qui marche.
    Il y a juste un bug au niveau des couleurs des départements....lorsque je passe la souris sur un département, c'est un autre département qui devient en couleur.
    Je n'ai qu'un seul departement qui fonctionne bien....


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
     </table>
     
    				    <script type="text/javascript">
    						function swapPic(zone,nr){
    							var pic=document.getElementById('hovered')
    								pic.src='area/'+nr+'.png'
    									zone.onmouseout=function(){pic.src='area/0.png'}
    									}
    						</script>
     
    							<link rel="stylesheet" media="screen" type="text/css" title="Exemple" href="txt.css"/>
     
     
    								<style type="text/css">
     
    										img {border:0;}
     
    								</style>
    				</head>
     
    				<center>
     
     
    				<body>
     
     
     
     
     
     
     
    				<div id="pic" style="height: 715; width: 515; background-position: center; background-image: url('area/carte.png'); background-repeat: no-repeat">
    				<img id="hovered" src="area/0.png" usemap="#Map" width="515" height="715" />
     
    				<map name="Map">
     
     
                    <?php
     
                                            $requete2 = 'SELECT * FROM deptMP';
     
                                            $rslt_map = mysql_query($requete2);
     
     
                    while( $tab = mysql_fetch_array($rslt_map ))
     
                                            {
                                            
                                            $nom_dep = $tab['deptmp_titre'];
                                                    $num_dep = $tab['de_num'];
                                                    $num_info = $tab['de_info'];
                                                    $num_url = $tab['de_url'];
                                                    $chaine_geometrie = $tab['de_geom'];
                                                    $site_relais = $tab['de_site'];
                                                    $id = $tab['de_id'];
     
     
                                 ?>
     
     
     
     
    				<area href="<?php echo $num_url; ?>" title="<?php echo $nom_dep.' ( '.$num_dep.' ) ' .$id.' '.$site_relais;?>" onmouseover="swapPic(this,<?php echo $id;?>)" shape="polygon" coords="<?php echo $chaine_geometrie;?>">
     
     
     
                <?php
     
                                    }
                                    
                            echo '</map>'; ?>
     
     
     
     
    				</map>

  3. #3
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 642
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 642
    Points : 66 668
    Points
    66 668
    Billets dans le blog
    1
    Par défaut
    Une petit recherche ..
    http://www.developpez.net/forums/d96...l-area-survol/

    Mais cette solution sera lourde si il faut tous les départements

    ça se fait bien avec canvas / svg par contre:
    http://dev.filkor.org/2013/04/14/cre...html-5-canvas/
    http://davidlynch.org/projects/maphi...emo_world.html
    https://parall.ax/blog/view/2985/tut...active-svg-map
    mêem un plugin jquery raphael
    http://www.vincentbroute.fr/mapael/

  4. #4
    Membre habitué
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    1 015
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 1 015
    Points : 182
    Points
    182
    Par défaut Cartographie dynamique en lien avec base de données
    Bonjour, tout d'abord merci pour la réponse et il n'y aura que quelques départements (environ 5 Départements).
    Et j'ai entendu parler d'openlayers et python, c'est difficile à mettre en place?

Discussions similaires

  1. Réponses: 2
    Dernier message: 09/05/2015, 19h14
  2. [XL-2010] Lien avec base de données SQLite
    Par athomas dans le forum Excel
    Réponses: 0
    Dernier message: 22/01/2014, 21h27
  3. Lien avec base de données
    Par pascb423 dans le forum Langage
    Réponses: 8
    Dernier message: 16/12/2008, 08h51
  4. Créer des pages dynamiques PHP avec base de données
    Par noobspower dans le forum Langage
    Réponses: 8
    Dernier message: 13/02/2007, 08h32
  5. [ JSP ] Formulaire tres dynamique avec base de données.
    Par Dukedoom dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 08/06/2006, 09h19

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo