0

请原谅我的英语不好,我是法国人!

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

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

你明白吗 ?

非常感谢你的帮助 !

4

1 回答 1

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知道它何时具有,然后您可以进行更新并删除侦听器。

于 2013-06-19T12:32:42.333 回答