gpt4 book ai didi

ios - 设置 map 坐标范围默认显示 (0, 0)

转载 作者:行者123 更新时间:2023-11-30 13:16:37 25 4
gpt4 key购买 nike

我正在构造一个想要在 MGLMapView 中显示的 MGLCooperativeBounds。一切都很好,直到我尝试使用边缘插入来提供一些填充。调用 setVisibleCooperativeBounds(_:, edgePadding:,animated:) 并在所有边上插入 100px 的边缘就可以了。如果我将所有边的边缘插入设置为 200px,则 map View 将移动到 (0, 0)。我原以为 map 缩放系数会改变以使一切都合适。 FWIW,在我使用的 iPhone 6 上, map View 为 653x750 像素,插图不超过 map View 大小。

我可以接受 100px 的填充,但令我担心的是我不知道这个问题何时或为何会出现。 MGLCooperativeBounds 的某些值在 100px 填充时是否会出现同样的问题?有什么方法可以预测并避免这个问题吗?

最佳答案

Deep down MGLCoordinateBounds 被转换为 CLLocationCooperative2D。一直以来的单位都是度。

为了验证一下,您正在将 100px200px 转换为度数,对吗?

很抱歉问了这个显而易见的问题。 Mapview 重置为 (0, 0) 令人费解。

您可能需要根据缩放级别计算填充度

<小时/>

关于填充的建议,其中涉及 topBottomleftRight

    let topBottom = // computation based on Zoom level, and horizontal screen resolution
let leftRight = // computation based on Zoom level, and vertical screen resolution
let edgeOffset = UIEdgeInsetsMake(top: topBottom,
left: leftRight,
bottom: topBottom,
right: leftRight)

关于ios - 设置 map 坐标范围默认显示 (0, 0),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38155135/

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