编程语言
首页 > 编程语言> > Java-Android:如何检查myLocation是否在当前缩放级别在地图上可见?

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