2014-09-23 84 views
2

我试图在单击我的位置按钮时更改缩放级别,但它总是获取默认缩放值。更改OnMylocationButtonClick放大Google Maps v2 Android

猜猜看,变焦只在Animate部分不起作用。如果我使用moveCamera,它会将缩放级别更改为我所指定的级别。

这里就是我想:

googleMap.setOnMyLocationButtonClickListener(new OnMyLocationButtonClickListener() 
{ 
    @Override 
    public boolean onMyLocationButtonClick() 
    { 
     Log.e("Inside","Click part"); 
     LatLng ll = new LatLng(curlat,curlong); 
     CameraUpdate update = CameraUpdateFactory.newLatLngZoom(ll, 20); 
     googleMap.animateCamera(update); 
     return false; 
    } 
}); 

不知道什么是错在这里的生命的一部分?

+0

您是否有其他听众也改变了相机,也许拿起了当前的缩放级别。如果他们在动画期间运行,他们将选择并修复当前的缩放级别,而当相机直接移动而没有动画时,这不会发生。 – user2808624 2014-09-24 05:21:05

+0

@ user2808624:我没有任何其他监听器。我曾经有googleMap.setMyLocationEnabled(true);但我现在禁用了它,但仍然遇到同样的问题。 – TheDevMan 2014-09-24 14:28:21

回答

3

您应该返回true而不是false。否则,地图会执行默认操作,这很可能(我没有详细检查)包括移动到当前位置(与您的ll相同),但使用“当前”缩放级别。如果为相机设置动画,当前缩放级别尚未改变太多。但如果直接移动相机而没有动画,它会发生完全变化。

+0

将false更改为true。这是问题。非常感谢! – TheDevMan 2014-09-26 04:51:13

相关问题