gpt4 book ai didi

ios - 检测用户是否移动了 map 或者它是否以编程方式发生 iOS Mapkit

转载 作者:可可西里 更新时间:2023-11-01 05:56:34 25 4
gpt4 key购买 nike

好的,我有一张 map ,其中加载了来自远程 JSON 提要的图钉,该提要已加载到应用程序中。这一切都很好。

现在,从最初的实验开始,regionDidChangeAnimated 被多次调用,所以我将我的发布请求移动到一个使用拖动 map 手势识别器的方法,该识别器然后执行发布请求以从 JSON 提要获取数据,并且删除它们后重新加载我的地​​图图钉。这也很完美。

现在我剩下的唯一问题是,如果我选择靠近屏幕边缘的注释, map 会稍微移动以适应注释标注的显示。问题是 regionDidChangeAnimated 在发生这种情况时被调用,但是我的发布请求不是我使用手势识别器调用它,因此 map 不是由用户干预而是操作系统移动的。我不想将我的 Post 请求移动到 regionDidChangeAnimated 因为它被多次调用但我想知道是否有办法测试用户是否导致 map 移动或者它确实如上所述,它本身可以容纳标注。我查看的研究中的 regionDidChangeAnimated 可能会被调用比必要次数更多的次数,因此一些指导将有助于如何防止这种情况或检测用户交互与操作系统移动 map 。

最佳答案

我有一个类似的问题:我想区分 map 的显示部分是否已被程序或用户交互更改。显然,MKMapView 对象并没有告诉我,即 regionDidChangeAnimated 在两种情况下都被调用,但没有说明原因。 但是由于 MKMapViewUIView 的子类,而这也是 UIResponder 的子类,因此可以实现方法 touchesBegan:withEvent:touchesEnded:withEvent: 以查明在更改显示区域期间是否触摸了 map 。
如果是这样,可以假设显示区域的变化是由用户交互引起的。当然,如果您更准确地调查触摸集和这些方法的事件类型,您可以更具体。

关于ios - 检测用户是否移动了 map 或者它是否以编程方式发生 iOS Mapkit,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14465060/

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