问题的原因是因为animateCamera方法的调用不会重新加载地图,因此地图不会更新。为了解决这个问题,可以使用animateCamera方法的回调函数并在回调函数中手动重新加载地图。以下是示例代码:
// 定义回调函数 GoogleMap.CancelableCallback animateCallback = new GoogleMap.CancelableCallback() { @Override public void onFinish() { // 在动画结束后重新加载地图 if (map != null) { map.clear(); // 清除地图上所有的标记和图层 map.setMapType(GoogleMap.MAP_TYPE_NORMAL); // 设置默认的地图类型 map.setMyLocationEnabled(true); // 开启定位图层 } }
@Override public void onCancel() { } };
// 调用animateCamera方法并传入回调函数 CameraUpdate cameraUpdate = CameraUpdateFactory.newLatLngZoom(new LatLng(37.7749, -122.4194), 13); map.animateCamera(cameraUpdate, animateCallback);