Вам необходимо переместить новую деталь GPolyline за пределы цикла.Таким образом, вы добавляете каждую отдельную координату в свой массив, затем в конце вы используете весь этот массив для создания ломаной линии.
for(i=0;i<till data;i++)
{
$data=pg_fetch_row($result,$i);
points[$i]= new GLatLng($data[4],$data[5]); // Lat,Long coordinates are at 5th and 6th column
}
var polyline = new GPolyline(points,color,4,1);
map.addOverlay(polyline);
Обновление: альтернативно, если вы хотитеЧтобы нарисовать каждый сегмент линии по одному, вы можете попробовать создать новый массив, который будет иметь только 2 координаты: начальную и конечную точки для отдельного сегмента.На этот раз вам нужно выполнить цикл до array.length-1 (не знаю, как вам нужно изменить массив PHP, поэтому вместо этого я напишу что-то в чистом синтаксисе Javascript - вам нужно будет вернуться обратно к PHP)
var coordinates = // your data array;
var points,polyline;
for(i=0;i < coordinates.length-1; i++) {
// recreate the array
points = [];
// add the first coordinate
points[0]= new GLatLng(coordinates[i].lat,coordinates[i].lon);
// add the 2nd coordinate
points[1]= new GLatLng(coordinates[i+1].lat,coordinates[i+1].lon);
polyline = new GPolyline(points,color,4,1);
map.addOverlay(polyline);
// at this point here you could add a setTimeout if still required
}