在地图上标记位置的更好方法

时间:2012-05-04 17:10:25

标签: ios user-interface mapkit mkannotation mkannotationview

我正在制作iOS应用,我希望用户在地图上定期标记位置。在iOS中标记位置的默认方式是将图钉放在地图的中心或用户保持触摸的位置(使用手势识别器)。

然后将引脚标记到所需位置正确,用户握住引脚并再次丢弃它。如果您在iOS地图应用中执行此操作,您将会知道很难以这种方式标记位置准确。它看起来很酷,但在我看来需要一些反复试验。

如果我能提供帮助,我想让这个过程更顺畅,更明显的是我的应用程序。 那么用户是否有其他方式在地图上标记位置,而不进行默认的引脚拖放操作?欢迎任何建议: - )

2 个答案:

答案 0 :(得分:2)

只是一个想法......而不是移动别针,你可以用手指移动地图,并保持引脚始终在mapView的中间(可能标有十字准线或其他东西)。然后,您可以使用mapView的“center”方法获取Pin的坐标。这样你就不会用手指盖住别针/十字准线。

答案 1 :(得分:1)

我建议您再次查看地图应用。当您将手指放在掉落的针上时,请注意地图上针脚底部的位置。在快速反弹之后,该针确实在这个确切的位置下降。该针脚也位于用户手指上方约20处。

虽然这不是最明显的,但在我看来这是非常准确的。足以查询Geocoder API的地址,或只是获取坐标。请记住,GPS的最高精度为5-10米。放大将使用户更加准确。

但是如果这个解决方案不是您想要的,我会在地图中心叠加一个点,并确保它不会响应触摸,从而可以在此点下方的地图上移动。触摸结束时,然后在地图中间放置一个针脚。如果触摸再次开始,则从地图中弹出引脚。我认为,当地图独立移动时,地图上已经存在的引脚看起来不错。