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

Смежные вопросы