banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

GEODATA DAYS 2024

#1 Thu 18 October 2012 12:48

sigway
Participant occasionnel
Date d'inscription: 9 Jul 2011
Messages: 15

Affichage des marqueurs sur une carte à partir d'une BD mysql

Bonjour,

J'essaie d'afficher des marqueurs sur une carte à partir d'une base de données.
J'ai suivi le tutoriel suivant: http://tips4php.net/2010/10/use-php-...g-data-on-map/ et je l'ai adapté à ma base de données.
Le problème c'est que la carte s'affiche sans les marqueurs.
quand j'inspecte l'élément par google chrome je reçois le message suivant :

Code:

Uncaught SyntaxError: Unexpected token <                  test3.jsp:68
Uncaught ReferenceError: initMap is not defined             test3.jsp:86
onload

ci-joint une capture de la table de base de données

voici le code, la table mysql s'appelle appreciation et contient une colonne latitudes et une autre colonne longitude et un colonne idAppreciation :

Code:

<?
             $dbname            ='survey'; //Name of the database
             $dbuser            ='root'; //Username for the db
             $dbpass            =''; //Password for the db
             $dbserver          ='localhost'; //Name of the mysql server
 
             $dbcnx = mysql_connect ("$dbserver", "$dbuser", "$dbpass");
             mysql_select_db("$dbname") or die(mysql_error());
          ?>
          <?
            $query = mysql_query("SELECT * FROM appreciation");
            while ($row = mysql_fetch_array($query)){
            $name=$row['idAppreciation'];
            $lat=$row['latitude'];
            $lon=$row['longitude'];
            $desc=$row['zone'];
            echo ("addMarker($lat, $lon,'<b>$name</b><br/>$desc');\n");
            }
            ?>
           <html>
           <head>
            <meta http-equiv="content-type" content="text/html; charset=utf-8"/>
           <title>Google Map API V3 with markers</title>
          <style type="text/css">
           body { font: normal 10pt Helvetica, Arial; }
          #map { width: 350px; height: 300px; border: 0px; padding: 0px; }
           </style>
          <script src="http://maps.google.com/maps/api/js?v=3&sensor=false"                  type="text/javascript"></script>
            <script type="text/javascript">
 //Sample code written by August Li
 var icon = new google.maps.MarkerImage("http://maps.google.com/mapfiles/ms/micons/blue.png",
 new google.maps.Size(32, 32), new google.maps.Point(0, 0),
 new google.maps.Point(16, 32));
 var center = null;
 var map = null;
 var currentPopup;
 var bounds = new google.maps.LatLngBounds();
 function addMarker(lat, lng, info) {
 var pt = new google.maps.LatLng(lat, lng);
 bounds.extend(pt);
 var marker = new google.maps.Marker({
 position: pt,
 icon: icon,
 map: map
 });
 var popup = new google.maps.InfoWindow({
 content: info,
 maxWidth: 300
 });
 google.maps.event.addListener(marker, "click", function() {
 if (currentPopup != null) {
 currentPopup.close();
 currentPopup = null;
 }
 popup.open(map, marker);
 currentPopup = popup;
 });
 google.maps.event.addListener(popup, "closeclick", function() {
 map.panTo(center);
 currentPopup = null;
 });
 }
 function initMap() {
 map = new google.maps.Map(document.getElementById("map"), {
 center: new google.maps.LatLng(0, 0),
 zoom: 14,
 mapTypeId: google.maps.MapTypeId.ROADMAP,
 mapTypeControl: false,
 mapTypeControlOptions: {
 style: google.maps.MapTypeControlStyle.HORIZONTAL_BAR
 },
 navigationControl: true,
 navigationControlOptions: {
 style: google.maps.NavigationControlStyle.SMALL
 }
 });
 
 center = bounds.getCenter();
 map.fitBounds(bounds);
 
 }
 </script>
 </head>
 <body onload="initMap()" style="margin:0px; border:0px; padding:0px;">
 <div id="map"></div>
 </html>

Fichier(s) joint(s) :
Pour accéder aux fichiers vous devez vous inscrire.

Hors ligne

 

Pied de page des forums

Powered by FluxBB