在 Google 地图中缩放相机
Zoom camera in Google Map
我想在用户点击时放大 marker.I 尝试使用 -
googleMap.setOnMarkerClickListener(new GoogleMap.OnMarkerClickListener()
{
@Override
public boolean onMarkerClick(final Marker marker)
{
googleMap.animateCamera(CameraUpdateFactory.zoomBy(3));
slidingPaneLayout.setPanelHeight(700);
});
我也试过了
googleMap.animateCamera(CameraUpdateFactory.zoomIn());
但它没有缩放
可能是Marker的点击事件和缩放动画冲突了。您可以尝试添加超时:
import android.os.Handler;
Handler handler = new Handler();
googleMap.setOnMarkerClickListener(new GoogleMap.OnMarkerClickListener()
{
@Override
public boolean onMarkerClick(final Marker marker)
{
handler.postDelayed(new Runnable() {
googleMap.animateCamera(CameraUpdateFactory.zoomBy(3));
}, 200);
return true;
});
这会使动画调用的执行延迟 200 毫秒。还要确保 return true
,因为这表明您已经使用了该事件(参见 documentation)。没试过,但这可能有用。
尝试将此代码添加到您的 marker onclick event
{LatLng yournewposition = new LatLng(latitude, longitude);
CameraPosition cameraPosition = CameraPosition.builder()
.target(yournewposition).zoom(10).build();
yourmapobject.animateCamera(CameraUpdateFactory
.newCameraPosition(cameraPosition));}
-谢谢!
我想在用户点击时放大 marker.I 尝试使用 -
googleMap.setOnMarkerClickListener(new GoogleMap.OnMarkerClickListener()
{
@Override
public boolean onMarkerClick(final Marker marker)
{
googleMap.animateCamera(CameraUpdateFactory.zoomBy(3));
slidingPaneLayout.setPanelHeight(700);
});
我也试过了
googleMap.animateCamera(CameraUpdateFactory.zoomIn());
但它没有缩放
可能是Marker的点击事件和缩放动画冲突了。您可以尝试添加超时:
import android.os.Handler;
Handler handler = new Handler();
googleMap.setOnMarkerClickListener(new GoogleMap.OnMarkerClickListener()
{
@Override
public boolean onMarkerClick(final Marker marker)
{
handler.postDelayed(new Runnable() {
googleMap.animateCamera(CameraUpdateFactory.zoomBy(3));
}, 200);
return true;
});
这会使动画调用的执行延迟 200 毫秒。还要确保 return true
,因为这表明您已经使用了该事件(参见 documentation)。没试过,但这可能有用。
尝试将此代码添加到您的 marker onclick event
{LatLng yournewposition = new LatLng(latitude, longitude);
CameraPosition cameraPosition = CameraPosition.builder()
.target(yournewposition).zoom(10).build();
yourmapobject.animateCamera(CameraUpdateFactory
.newCameraPosition(cameraPosition));}
-谢谢!