我已经实现了以下代码,用于在用户点击它们时缩放位置标记。除了靠近地图顶部或底部的标记外,它几乎适用于所有标记。缩放地图顶部和底部附近的标记并不准确。当地图首先为相机设置动画,使标记位于屏幕中心,然后放大屏幕中心,顶部附近的标记无法到达在中心,这就是缩放不在确切位置的原因。有什么方法可以解决这个问题吗?
googleMap.setOnMarkerClickListener(new GoogleMap.OnMarkerClickListener() {
@Override
public boolean onMarkerClick(final Marker marker) {
CameraUpdate center=
CameraUpdateFactory.newLatLng(marker.getPosition());
CameraUpdate zoom=CameraUpdateFactory.zoomTo(6);
});
我尝试下面的代码也是同样的问题 -
googleMap.animateCamera(CameraUpdateFactory.newLatLng(marker.getPosition()));
googleMap.animateCamera(CameraUpdateFactory.zoomBy(2));
答案 0 :(得分:1)
尝试以下方法,我已经尝试过并且有效,无法判断它是否符合您的要求:
googleMap.setOnMarkerClickListener(new GoogleMap.OnMarkerClickListener() {
@Override
public boolean onMarkerClick(final Marker marker) {
// CameraUpdate center=
// CameraUpdateFactory.newLatLng(marker.getPosition());
// CameraUpdate zoom = CameraUpdateFactory.zoomTo(6);
// return true;
googleMap.moveCamera(CameraUpdateFactory.newLatLngZoom(marker.getPosition(),15));
// Zoom in, animating the camera.
googleMap.animateCamera(CameraUpdateFactory.zoomIn());
// Zoom out to zoom level 10, animating with a duration of 2 seconds.
googleMap.animateCamera(CameraUpdateFactory.zoomTo(15), 2000, null);
return true;
}
});