0

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

1 回答 1

1

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

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

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

查看文档以OnMarkerClickListener获取更多信息。

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

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

仅当片段为“CITY”时才会平移地图。您可能还想将调用撤消到equals().

于 2013-08-14T09:45:08.077 回答