2017-04-08 61 views
0

我試過這段代碼,但沒有運氣用多段線,可能是因爲小問題,我無法獲得連接標記的多段線。
我需要用多段線連接多個標記,也歡迎任何替代代碼。用多段線連接多個標記

var locations = []; 
// call php array 
var latitude = <?php echo json_encode($latitude); ?>; 
var longitude = <?php echo json_encode($longitude); ?>; 
for(var i=0;i<20;i++){ 
locations.push(["current",latitude[i], longitude[i]]); 
} 

var marker; 
      function initMap() { 
      var map = new google.maps.Map(document.getElementById('map'), { 
      zoom: 5, 
      center: new google.maps.LatLng(12.289774217827633, 76.30976921188685) 
      }); 

var flightPath = new google.maps.Polyline({ 
              path: locations, 
              geodesic: true, 
              strokeColor: '#000000', 
              strokeOpacity: 1.0, 
              strokeWeight: 3 
    }); 


flightPath.setMap(map); 
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)); 
    } 
} 

回答

1

航跡應被稱爲陣列。

請嘗試更新代碼。

var locations = [ 

    ]; 

// call php array 
var latitude = <?php echo json_encode($latitude); ?>; 
var longitude = <?php echo json_encode($longitude); ?>; 
for(var i=0;i<20;i++){ 
locations.push(["current",latitude[i], longitude[i]]); 
} 
var marker; 
    function initMap() { 
     var map = new google.maps.Map(document.getElementById('map'), { 
     zoom: 5, 
     center: new google.maps.LatLng(12.289774217827633, 76.30976921188685) 
     }); 


// locations.push(["current",test2, test3]); 
var infowindow = new google.maps.InfoWindow(); 

var marker, i; 
var flightPlanCoordinates = []; 

    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 
    }); 
flightPlanCoordinates.push(marker.getPosition()); 
    google.maps.event.addListener(marker, 'click', (function(marker, i) { 
     return function() { 
     infowindow.setContent(locations[i][0]); 
     infowindow.open(map, marker); 
     } 
    })(marker, i)); 
    } 
    var flightPath = new google.maps.Polyline({ 
    map: map, 
    path: flightPlanCoordinates, 
    strokeColor: "#ff0000", 

    strokeOpacity: 1.0, 
    strokeWeight: 2 
    }); 
} 
+1

很好......它工作得很好非常感謝。 –