我想创建一个部分模仿标准地图应用程序所具有的行为的应用程序。事实证明这很困难。首先,我不明白你如何使注释可移动。你究竟是怎么做到的?
第二:你如何搜索位置?
答案 0 :(得分:15)
移动注释
我假设你正在追踪Maps.app的行为,你可以点击并按住一个引脚来自由移动它。据我所知,没有内置的移动注释方式。由于注释是UIView
的子类,因此您可以将它们绘制到您想要的位置和方式。例如,您可以检测注释上的tap-n-hold,并在“解锁”时更改注释的centerOffset
值,以便通过触摸移动它。当用户放开视图时,您可以记下屏幕上的位置,并使用MKMapView
方法convertPoint:toCoordinateFromView:
获取销钉释放的坐标。
搜索位置
您正在寻找的是前向地理编码。不幸的是,MapKit只附带反向地理编码(将GPS坐标转换为国家/城市/街道/等的过程)。但是,有几种选择。以下是几种方式:
请注意,许多地理编码API均根据知识共享或类似许可进行许可。
答案 1 :(得分:3)
您应该能够在此博客文章的帮助下获得拖放注释。我用它来做同样的事情,这很简单。