我在谷歌地图v2中发现了一个奇怪的错误。当我尝试将Camrea设置为覆盖marker onClick方法内的标记位置时,它不起作用。在这种情况下,似乎只有moveCamera可以工作。即使我尝试将相机设置为随机位置的动画,它仍然不起作用。
@Override
public boolean onMarkerClick(Marker mmarker) {
if(mmarker.getSnippet().equals("CITY")){
map.animateCamera(CameraUpdateFactory.newLatLngZoom(mmarker.getPosition(), (float) 11.20));
//updateMapMarkers(0);
}
return false;
}
这是默认行为。你为什么要重新定义它?
如果从onMarkerClick
返回false
,"地图API"将执行其默认行为(平移到标记)。
如果您正在覆盖该行为或不希望它发生,则需要返回true
。
有关详细信息,请查看OnMarkerClickListener
的文档。
如果你只想在这样的条件下制作动画,那么这将更简洁:
@Override
public boolean onMarkerClick(Marker mmarker) {
return !mmarker.getSnippet().equals("CITY");
}
只有当代码段为"CITY"时,才会平移地图。您可能还想将呼叫转接到equals()
。