我基本上是想每5秒在google地图中绘制一条折线,我在ArrayList中添加了lat和lng并用于循环执行操作,现在如何在第一次绘制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));
}