2012-05-24 17 views
0

我想通過在googlemap中連接標記來繪製多邊形。時間與每個標記相關聯。因此,我想根據時間連接每個點。如何才能做到這一點。目前的代碼已實現像這樣。我需要改變的地方。在基於Googlemap的標記時間中繪製多邊形

 var marker = new Array(); 
     var points = new Array(); 
    for(var i=0;i<value.length;i++) 
      { 
       var tempar=value[i].split(','); 
       var center = new GLatLng(tempar[0], tempar[1]); 
       var mar = new GMarker(center, icon); 
       var imgpth=tempar[3]; 
       var tme=tempar[2]; 
       marker.push(mar); 
       marker[i].time = tempar[2]; 
       points.push(marker[i].getLatLng()); 
       drawMarker(mar,imgpth,tme);     
     } 
      for(i=;i<marker.length;i++) 
     { 
      map.addOverlay(marker[i]); 
      } 
      var polyline = new GPolygon(points, "#f33f00", 2, 1, "#ff0000", 0.2); 
      map.addOverlay(polyline); 
+0

您是否嘗試過按時間排序的標記? – WojtekT

+0

是唯一的選擇? – user922834

+0

這實際上是最簡單的一個。 – WojtekT

回答

1

最簡單的方法是按時間排序數組。假設time財產具有一定的合理值(不是字符串):

marker.sort(function(a,b){return a.time-b.time}); 

如果time是一個字符串,則:

marker.sort(function(a,b) { 
var date1 = new Date(a.time); 
var date2 = new Date(b.time); 
return date1.getTime() - date2.getTime(); 

}); 
+0

time屬性只是一個string.how我可以排序這個時間字符串 – user922834

+0

排序後再次我們需要推它在「點」數組...它是正確的嗎? – user922834

+0

這是正確的。 – WojtekT