请原谅我英语不好,我是法国人!
我对我的Android应用有一个小问题。我必须集成谷歌地图并在地图上显示标记。然后,我必须动态缩放用户位置。这是可以的。但是!我想修正缩放,以便显示第一个可见的标记。
例如:如果距离这里3公里有一个标记,那么对于距离他100米的用户来说,变焦就不一样了!
你明白吗?
谢谢你的帮助
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
以知道它何时有大小,然后可以进行更新并删除侦听器。