如何在后台线程中更改相机焦点? 缩放在线程中工作正常,但更改坐标不是。 如果线程中没有使用坐标也会改变坐标,但我打算使用延迟,所以它需要在那里。
@Override
public void run() {
if (points.size() > 0){
Polyline line = map.addPolyline(new PolylineOptions()
.addAll(points)
.width(5)
.color(Color.RED));
System.out.println(points.get(0).toString());
map.animateCamera(CameraUpdateFactory.newLatLng(points.get(0)));
map.animateCamera(CameraUpdateFactory.zoomTo(14));
}
}
答案 0 :(得分:2)
可能是因为您可能没有在主UI线程中运行它
更改
map.animateCamera(CameraUpdateFactory.newLatLng(points.get(0)));
map.animateCamera(CameraUpdateFactory.zoomTo(14));
到
runOnUiThread(new Runnable() {
@Override
public void run() {
map.animateCamera(CameraUpdateFactory.newLatLng(points.get(0)));
map.animateCamera(CameraUpdateFactory.zoomTo(14));
}
});
答案 1 :(得分:0)
AnimateCamera
API已在另一个线程中实现。所以你必须在UI线程中调用它。 Details about API