我有一张谷歌地图,当用户在其中移动时,蓝点 (myLocation) 会移动 - 标准行为。在用户移动超出当前缩放级别的边界之前,这种方法一直有效 - 并且蓝点从 map 的一个边缘消失。我不想每次用户移动时都重新聚焦 map 并且我得到位置更新 - myLocation 点不必始终位于屏幕中央 - 但 myLocation 有必要始终可见,因此如果用户离开 map 的一侧,我想重新调整 map 的焦点,以便他再次可见。
如何判断 myLocation 已经移出屏幕的可见区域?
Best Answer-推荐答案 strong>
double latitude = location.getLatitude();
double longitude = location.getLongitude();
fromPosition = new LatLng(latitude, longitude);
LatLngBounds bounds = this.map.getProjection().getVisibleRegion().latLngBounds;
if(!bounds.contains(new LatLng(location.getLatitude(), location.getLongitude()))){
CameraPosition cameraPosition = new CameraPosition.Builder()
.target(fromPosition)
.zoom(17)
.bearing(180)
.tilt(80)
.build();
map.animateCamera(CameraUpdateFactory.newCameraPosition(cameraPosition));
}
关于java - Android:如何检查 myLocation 在当前缩放级别的 map 上是否可见?,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/34372990/
|