gpt4 book ai didi

ios - MapBox 在 CGRect 中获取 visibleCoordinateBounds

转载 作者:行者123 更新时间:2023-11-28 23:29:50 24 4
gpt4 key购买 nike

我正在开发一个带有 MapBox map 的 iOS 应用。

我正在显示 MGLAnnotations 但我只想创建当前时刻可以在屏幕上看到的注释。

问题是:我的屏幕底部有一个 UIView,所以我用 mapView.visibleCoordinateBounds 函数得到的边界不是很准确,因为我看不到我 map 的底部。

我不能只调整我的 map 大小,因为我谈到的底部 View 没有覆盖整个 map ,我们仍然可以看到底部 View 后面的部分 map 。

所以我的问题是,如何在我的 MapView 上获得 CGRectvisibleCoordinateBounds

我当前的解决方案仅适用于整个 map View 边界,不适用于我想显示注释的 CGRect 区域的边界:

if ((mapView.visibleCoordinateBounds.sw).latitude...(mapView.visibleCoordinateBounds.ne).latitude ~= latX && (mapView.visibleCoordinateBounds.sw).longitude...(mapView.visibleCoordinateBounds.ne).longitude ~= lngY) {
print("VISIBLE")
}

谢谢

最佳答案

我终于找到了办法。

我只是计算底部 View 隐藏的 map View 的百分比,然后减去南纬度的这个数字:

var valueToRemoveBottom = (mapView.visibleCoordinateBounds.ne).latitude - (mapView.visibleCoordinateBounds.sw).latitude
let percentageUsedByBottom = (bottomView.frame.height * 100 / mapView.frame.height) / 100
valueToRemoveBottom = valueToRemoveBottom * Double(percentageUsedByBottom)

if (((mapView.visibleCoordinateBounds.sw).latitude + valueToRemoveBottom)...((mapView.visibleCoordinateBounds.ne).latitude) ~= latX && (mapView.visibleCoordinateBounds.sw).longitude...(mapView.visibleCoordinateBounds.ne).longitude ~= lngY) {
// visible
}

关于ios - MapBox 在 CGRect 中获取 visibleCoordinateBounds,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57042731/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com