Java-Android:如何检查myLocation是否在当前缩放级别在地图上可见?
作者:互联网
我有一张Google地图,当用户在蓝点(myLocation)周围移动时-标准行为.直到用户移动到当前缩放级别的边界之外,并且蓝点从地图的某一边缘消失后,此方法才能正常工作.我不想每次用户移动时都重新调整地图的位置,而是得到位置更新-不需要myLocation点始终位于屏幕的中心-但是myLocation必须总是可见的,因此,如果用户从地图的一侧移开,我想重新调整地图的焦点,以便他再次变得可见.
如何判断myLocation已移出屏幕的可见区域?
解决方法:
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));
}
标签:google-maps,android-mapview,mylocationoverlay,java,android 来源: https://codeday.me/bug/20191027/1945426.html