在onClick方法中将地图动画到标记位置

时间:2013-08-14 08:55:43

标签: android google-maps-markers google-maps-android-api-2 android-maps-v2

我在googleMap v2中发现了一个奇怪的错误。当我尝试将anamCamrea设置为覆盖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;
}

1 个答案:

答案 0 :(得分:1)

这是默认行为。你为什么要重新定义它?

如果您从false返回onMarkerClick,则Maps API将执行其默认行为(平移到标记)。

如果您要覆盖该行为或不希望它发生,您将要返回true

查看documentation for OnMarkerClickListener以获取更多信息。

如果您只想在这样的条件下制作动画,那么这将更简洁:

@Override
public boolean onMarkerClick(Marker mmarker) {
    return !mmarker.getSnippet().equals("CITY");
}

仅当代码段为“CITY”时,才会平移地图。您可能还想将来电转为equals()