缩放地图顶部附近的标记
Zooming for the markers near the top of the map
我已经实现了以下代码,用于在用户单击位置标记时缩放位置标记。它适用于几乎所有标记,除了靠近地图顶部或底部的标记。缩放地图顶部和底部附近的标记不准确 place.As 地图首先为相机设置动画,使标记位于屏幕中心,然后缩放到屏幕中心,靠近顶部的标记无法来到中心,这就是缩放不准确的原因 location.Is 有什么办法可以解决这个问题吗?
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));
试试下面的方法,我试过了有效,不知道是否符合你的要求:
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;
}
});
我已经实现了以下代码,用于在用户单击位置标记时缩放位置标记。它适用于几乎所有标记,除了靠近地图顶部或底部的标记。缩放地图顶部和底部附近的标记不准确 place.As 地图首先为相机设置动画,使标记位于屏幕中心,然后缩放到屏幕中心,靠近顶部的标记无法来到中心,这就是缩放不准确的原因 location.Is 有什么办法可以解决这个问题吗?
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));
试试下面的方法,我试过了有效,不知道是否符合你的要求:
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;
}
});