我的谷歌地图中有一个LatLngBounds变量:
LatLngBounds QC = new LatLngBounds(
new LatLng(14.656669, 120.998598), new LatLng(14.666965, 121.098934));
我希望相机只显示一个特定的城市。我已经实现了它不能缩小很远,只需放大。
map.setOnCameraChangeListener(new OnCameraChangeListener() {
@Override
public void onCameraChange(CameraPosition arg0) {
// adding marker
if(arg0.zoom <12){
map.animateCamera(CameraUpdateFactory.newLatLngZoom(QC.getCenter(), 12));
}
}
});
但是,如果我不将缩放级别更改为低于12,我仍然可以转到地图中的其他国家/地区。关于如何在LatLngBounds
内强制执行相机的任何想法?请帮忙!谢谢!
答案 0 :(得分:0)
您可以在CameraPosition arg0
中查看目标。
保存上次已知的CameraPosition
,然后:
使用QC.contains(arg0.target)
查看目标是否在边界内。如果不。将相机设置为上一个CameraPosition
。
希望这会有所帮助。