我有以下更新地图的方法:
private void setCamera() {
if (currentLocation != null) {
String[] coords = currentLocation.split(",", 2);
CameraUpdate center = CameraUpdateFactory.newLatLng(new LatLng(Double.parseDouble(coords[0]), Double.parseDouble(coords[1])));
CameraUpdate zoom = CameraUpdateFactory.zoomTo(5);
mMap.moveCamera(center);
mMap.animateCamera(zoom);
}
}
第一次在打开应用程序后立即调用此方法,此方法运行正常。但之后我转到另一个片段然后再到第一个片段。在这种情况下调用该方法,currentLocation
不等于null,center
得到了正确的LatLng
对象,但我的地图视图没有改变,缩放小于5。
有什么问题?
答案 0 :(得分:4)
最终我已经解决了这个问题。我更改了以前的代码如下:
private void setCamera() {
if (currentLocation != null) {
String[] coords = currentLocation.split(",", 2);
CameraUpdate center = CameraUpdateFactory.newLatLng(new LatLng(Double.parseDouble(coords[0]), Double.parseDouble(coords[1])));
CameraUpdate zoom = CameraUpdateFactory.zoomTo(5);
mapFragment.getMap().moveCamera(center);
mapFragment.getMap().animateCamera(zoom);
}
}
现在地图显示正确。