OGeek|极客世界-中国程序员成长平台

标题: java - Android:如何检查 myLocation 在当前缩放级别的 map 上是否可见? [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-9 06:18
标题: java - Android:如何检查 myLocation 在当前缩放级别的 map 上是否可见?

我有一张谷歌地图,当用户在其中移动时,蓝点 (myLocation) 会移动 - 标准行为。在用户移动超出当前缩放级别的边界之前,这种方法一直有效 - 并且蓝点从 map 的一个边缘消失。我不想每次用户移动时都重新聚焦 map 并且我得到位置更新 - myLocation 点不必始终位于屏幕中央 - 但 myLocation 有必要始终可见,因此如果用户离开 map 的一侧,我想重新调整 map 的焦点,以便他再次可见。

如何判断 myLocation 已经移出屏幕的可见区域?



Best Answer-推荐答案


 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/






欢迎光临 OGeek|极客世界-中国程序员成长平台 (https://www.ogeek.cn/) Powered by Discuz! X3.4