Google maps 在谷歌地图中显示它们之间的多个标记和多段线

Google maps 在谷歌地图中显示它们之间的多个标记和多段线,google-maps,google-maps-api-3,Google Maps,Google Maps Api 3,嗨,我在谷歌地图上工作。我已显示多个位置标记,并希望显示标记之间的多段线。将显示标记,但不显示多段线。任何帮助都将不胜感激 下面是我从数据库中获取位置数据的代码 <?php $hostname = 'localhost'; $dbname = 'gtroad'; $username = 'root'; $password = ''; mysql_connect("$hostname", "$username", "$password") or DIE("Connection to

嗨,我在谷歌地图上工作。我已显示多个位置标记,并希望显示标记之间的多段线。将显示标记,但不显示多段线。任何帮助都将不胜感激

下面是我从数据库中获取位置数据的代码

<?php
$hostname = 'localhost'; 
$dbname = 'gtroad'; 
$username = 'root'; 
$password = ''; 
mysql_connect("$hostname", "$username", "$password") or DIE("Connection to host is  failed");
mysql_select_db("$dbname") or DIE("database not available");
$q1 = mysql_query("SELECT city, lat, lng FROM location");
$lalng = array();
for($i=0;$i<mysql_num_rows($q1);$i++)
{
    $j = 0;
    $obj = mysql_fetch_object($q1);
    $lalng[$i][$j] = $obj->city;
    $j++;
    $lalng[$i][$j] = $obj->lat;
    $j++;
    $lalng[$i][$j] = $obj->lng;
    $j++;
} 
$ar = json_encode($lalng);
?>
下面是谷歌地图的javascript代码,用于显示标记和它们之间的多段线

<script>

function initialize() {
var mapOptions = {
   zoom: 6,
   featureType: 'road',
   center: new google.maps.LatLng(30.6667, 72.1667),
   mapTypeId: google.maps.MapTypeId.ROADMAP
  };

  var map = new google.maps.Map(document.getElementById('map-canvas'),
  mapOptions);

 var locations = <?php echo $ar; ?>;
 var infowindow = new google.maps.InfoWindow();

    var marker, i;  
    for (i = 0; i < locations.length; i++) {  
      marker = new google.maps.Marker({
        position: new google.maps.LatLng(locations[i][1], locations[i][2]),
        map: map
      });   

      google.maps.event.addListener(marker, 'click', (function(marker, i) {
        return function() {
          infowindow.setContent(locations[i][0]);
          infowindow.open(map, marker);
        }

      })(marker, i));  
    }

 /* polyline code */     
    var flightPath, mylatlong = new Array(); 
    for(i=0; i < locations.length; i++){    
        mylatlong = new google.maps.LatLng(locations[i][1], locations[i][2]);
        document.write(mylatlong);  
    }
        flightPath = new google.maps.Polyline({
            path: mylatlong,
            geodesic: true,
            strokeColor: '#999999',
            strokeOpacity: 1.0,
            strokeWeight: 3
        });
        flightPath.setMap(map); 
 } //end polyline code

google.maps.event.addDomListener(window, 'load', initialize);

google.maps.event.addDomListener(window, "resize", function() {
 var center = map.getCenter();
 google.maps.event.trigger(map, "resize");
 map.setCenter(center); 
});

</script>

您创建了mylatlong数组,但没有将值推入其中。在for循环之后尝试console.logmylatlong,您就会明白。我已经尝试过了,但没有发生任何事情…@MrUpsidown您检查过javascript控制台吗?@MrUpsidown谢谢,我收到了