2012-05-24 18 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