Я в основном пытаюсь рисовать полилинии на картах Google каждые 5 секунд. Я добавил значения lat и lng в ArrayList и использовал цикл for для выполнения операции. Теперь как я могу после первого рисования Polyline реализовать поток сфункция sleep (5s), а затем выполнить снова?
Итак, я хочу, чтобы после выполнения первого
new LatLng(latThread.get(i), lngThread.get(i)),
new LatLng(latThread.get(i+1), lngThread.get(i+1))
я хотел, чтобы поток спал 5 секунд и выполнял следующий цикл for?
Спасибо!
Вот мой код:
@Override
public void onMapReady(GoogleMap googleMap) {
mMap = googleMap;
//Thread
ArrayList<Double> latThread = new ArrayList<>();
ArrayList<Double> lngThread=new ArrayList<>();
//Thread for lat
latThread.add(51.611290);
latThread.add(51.591290);
latThread.add(51.561290);
latThread.add(51.531290);
latThread.add(51.521290);
latThread.add(51.501290);
//Thread for lng
lngThread.add(7.197380);
lngThread.add(7.177380);
lngThread.add(7.157380);
lngThread.add(7.137380);
lngThread.add(7.117380);
lngThread.add(7.107380);
for(int i = 0;i<5;i++) {
// LatLng l1=latThread.get(i);
// LatLng l1 = new LatLng(latThread.get(i), lngThread.get(i));
Polyline polyline = googleMap.addPolyline(new PolylineOptions()
.clickable(true)
.add(
//new lat lng
// new LatLng(list.get(0), 7.197380),
// new LatLng(list.get(1), 7.177380
new LatLng(latThread.get(i), lngThread.get(i)),
new LatLng(latThread.get(i+1), lngThread.get(i+1))
));
//polyline
polyline.setEndCap(new RoundCap());
polyline.setWidth(POLYLINE_STROKE_WIDTH_PX);
polyline.setColor(COLOR_BLACK_ARGB);
polyline.setJointType(JointType.ROUND);
// new LatLng(list.get(2),7.157380),
// new LatLng(list.get(3),7.137380)
// object.setEndCap(new RoundCap());
// object.setWidth(POLYLINE_STROKE_WIDTH_PX1);
polyline.setColor(COLOR_BLACK_ARGB);
// mHandler.postDelayed(mUpdateTimeTask, 10000);
}
//Marker marker = new Marker();
// Add a marker in Sydney and move the camera
LatLng sydney = new LatLng(latThread.get(0),lngThread.get(0));
mMap.setMapType(GoogleMap.MAP_TYPE_HYBRID);
mMap.addMarker(new MarkerOptions().position(sydney).title("Marker in Sydney"));
mMap.moveCamera(CameraUpdateFactory.newLatLng(sydney));
// mMap.setMaxZoomPreference(50);
mMap.moveCamera(CameraUpdateFactory.newLatLngZoom(sydney, 100.0f));
}