簡體   English   中英

谷歌地圖標記信息窗口

[英]Google maps marker infowindow

<?php
        //connect to your database ** EDIT REQUIRED HERE **
        mysql_connect("localhost","root","root"); //(host, username, password)

        //specify database ** EDIT REQUIRED HERE **
        mysql_select_db("Airport") or die("Unable to select database");
        //select which database we're using
        $query="select * from LondonHeathrowAirportArrivals ORDER BY id DESC";  
        // query string stored in a variable
        $rt=mysql_query($query);
        // query executed 
        echo mysql_error(); 

        while($nt=mysql_fetch_array($rt)){
            $counter=$counter+1;
            $angle=round($nt['angle'], -1);
        ?>
        <script type="text/javascript">
        function initialize() {

          var myLatlng = new google.maps.LatLng(51.48, -0.52);
          var myOptions = {
            zoom: 8,
            center: myLatlng,
            mapTypeId: google.maps.MapTypeId.ROADMAP
          }
          map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
          var flightPlanCoordinates = [
            path1, path2, path3, path4, path5, path6
          ];

          var flightPath = new google.maps.Polyline({
            path: flightPlanCoordinates,
            strokeColor: "#FF0000",
            strokeOpacity: 1.0,
            strokeWeight: 2
          });

          flightPath.setMap(map);
           for (i=1;i<=1000;i++){
              var marker<?= $nt['Flightnumber'] ?> = new google.maps.Marker({
                  position:eval('myLatlng'+i),
                  map: map, 
                  title:eval('title'+i),
                  icon: eval('image'+i)
              }); 
              google.maps.event.addListener(marker<?= $nt['Flightnumber'] ?>, 'click', function() {
                 alert('<?= $nt[Flightnumber] ?>');
                });

          }
        }
                var myLatlng<?php echo $counter ?>= new google.maps.LatLng(<?php echo $nt['Length'] ?>,<?php echo $nt['Breadth'] ?>);
                var image<?php echo $counter ?> = new google.maps.MarkerImage('img/plane<?= $angle ?>.png', new google.maps.Size(35, 35), new google.maps.Point(0,0), new google.maps.Point(0, 12));
                var title<?php echo $counter ?> = "<?= $nt[Flightnumber] ?>";
                var path1= new google.maps.LatLng(51.51,-0.60);
                var path2= new google.maps.LatLng(51.50,-0.58);
                var path3= new google.maps.LatLng(51.49,-0.57);
                var path4= new google.maps.LatLng(51.48,-0.55);
                var path5= new google.maps.LatLng(51.48,-0.53);
                var path6= new google.maps.LatLng(51.48,-0.52);
            </script>
            <?php               
            }
        ?>
</head>

有人可以向我解釋為什么當我單擊不同的標記時,我仍然收到包含最后一個標記內容的警報嗎??? 如果有人可以更改上面的代碼以使每個警報都是唯一的,我將不勝感激。我已經堅持了好幾個小時而找不到解決方案。

您遇到的是關閉問題, 本文對問題和解決方案進行了簡要定義

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM