2

我尝试使用 PHP 和 MySQL 在 Google 地图上显示多个标记。下面的代码使用PHP连接数据库,获取经纬度。

问题是地图没有显示,但是一旦我删除了这条线,它就可以在没有得到标记的情况下工作:"var liste_des_points=[<?php echo $listeDesPoints; ?>];"。我认为问题在于PHP格式。

请帮我解决一下这个 。

     <%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
     <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <?php

     $connexion=mysql_connect("localhost", "root", "") or die(mysql_error());
     mysql_select_db("survey",$connexion) or die(mysql_error());

     $result = mysql_query("SELECT latitude, longitude FROM appreciation order by id");


     $listeDesPoints='';
     while($row = mysql_fetch_array($result)){
     if($listeDesPoints!='') $listeDesPoints.=','; 
     $listeDesPoints.='['.$row['latitude'].','.$row['longitude'].']';
     }

     mysql_close($connexion);
   ?>

     <html>
        <head>
          <meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
          <style type="text/css">
           html { height: 100% }
           body { height: 100%; margin: 0; padding: 0 }
           #map_canvas { height: 100% }
           </style>
           <script type="text/javascript"
           src="http://maps.googleapis.com/maps/api/js?key=AIzaSyB3is760vHXhki9vS_LpiWAig8a33GP3CY&sensor=false">
           </script>
        <script type="text/javascript">
         function initialize() {
            var optionsCarte = {
              center: new google.maps.LatLng(34.02,-6.83),
              zoom: 8,
              mapTypeId: google.maps.MapTypeId.ROADMAP
            };
            var map = new     google.maps.Map(document.getElementById("map_canvas"),
            optionsCarte);

            var liste_des_points=[<?php echo $listeDesPoints; ?  >];

            var i=0,li=liste_des_points.length;
            while(i<li){
            new google.maps.Marker({
                   position: new google.maps.LatLng(liste_des_points[i][0], liste_des_points[i][1]),
                   map: map,
            });
            i++;
            }

          }
        </script>
      </head>
      <body onload="initialize()">
        <div id="map_canvas" style="width:100%; height:100%">    </div>
      </body>
      </html>
4

0 回答 0