gpt4 book ai didi

ios - MKMapView 中心坐标不准确

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

当我尝试使用MKMapView的centerCooperative将图钉放置在 map 中心时,它大致将图钉放置在中心,但它位于 map 真实中心以南的几个像素处。

我尝试将 map 的中心点转换为坐标MKMapView.convertPoint(MKMapView.center) 在 ios8 上完美运行,但在 ios7 上仍然关闭(现在位于真正中心的南边和西边)。

有谁知道如何确定中心坐标的“偏离”程度以便我进行调整?

我需要这个,因为我在 map 上放置了一个十字准线图像,并且需要图钉出现在十字准线的中心。我已经用尺子验证了十字准线在 map 上居中,这是关闭的图钉。

最佳答案

your answer您修复了一个中心坐标似乎已关闭但实际上并非如此的特定场景,因为它只是被状态栏部分遮挡了。不幸的是,事情并不那么简单。还有其他边缘情况,其中中心坐标实际上可以稍微偏移。 (当我更改 map View 的框架时,我会注意到它,因为键盘出现然后又被关闭。)这是一个奇怪的小 map View 特性。

Anyone know how to determine how "off" the center coordinate is so I can adjust?

是的,只需将 centerCoordinate 转换为 CGPoint 并与 center 进行比较。唯一的技巧是确保您在相同的坐标系中执行这些操作(在下面的示例中, map View 的坐标系):

func adjustOverlayCenterYConstraint() {
let mapCenter = mapView.convert(mapView.centerCoordinate, toPointTo: mapView)
let viewCenter = mapView.superview!.convert(mapView.center, to: mapView)

overlayCenterYConstraint.constant = mapCenter.y - viewCenter.y
}

在这个例子中,我有一个 centerY 约束,我正在调整它的 constant,但它说明了如何以编程方式确定中心是否有一点偏移的想法以及如何调整它。理论上,您可能还需要调整 x 坐标,但想法是一样的。


你说:

is still off (now its south and west of the true center)

如果它既偏南又偏西,那么问题很可能只是坐标系的问题。请记住,centersuperview 的坐标系中,因此请确保转换为一致的坐标系(要么在坐标系中获取 coordinateCenter map View 的 superview 并与 center 进行比较,或者在 map View 的坐标系中获取两者,如上所示)。

关于ios - MKMapView 中心坐标不准确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27758271/

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