Android - 谷歌地图V2:修复缩放以显示第一个可见标记

时间:2013-06-19 12:23:03

标签: android google-maps google-maps-markers

请原谅我糟糕的英语,我是法国人!

所以,我对我的Android应用程序有一个小问题。 我要整合谷歌地图并在地图上显示标记。 然后,我要动态地放大用户位置。 没关系。 但是!我想修改缩放以显示第一个可见标记。

例如:如果距离此处3公里处有一个标记,那么对于有100米标记的用户,缩放将不相同!

你明白吗?

非常感谢你的帮助!

1 个答案:

答案 0 :(得分:1)

final LatLngBounds.Builder bc = new LatLngBounds.Builder();
for (LatLng marker : markers) {
    bc.include(marker);
}
bc.include(new LatLng(yourLat, yourLong));

map.setOnCameraChangeListener(new OnCameraChangeListener() {
    @Override
    public void onCameraChange(CameraPosition arg0) {
        map.moveCamera(CameraUpdateFactory.newLatLngBounds(bc.build(), padding));
        map.setOnCameraChangeListener(null);
    }
});

这将设置正确的缩放以适合标记和您的位置,然后您可以添加一些额外的填充!由于尚未计算大小,因此您必须设置CameraChangeListener以了解其时间,然后您可以进行更新并删除侦听器。