iPhone - MapKit - Поиск местоположений и перемещение аннотаций - PullRequest
6 голосов
/ 11 мая 2010

Я хочу создать приложение, которое частично имитирует поведение стандартной карты приложений. Это оказалось трудным. Прежде всего, я не понимаю, как сделать аннотации подвижными. Как именно ты это делаешь?

Второе: как вы ищите локации?

Ответы [ 2 ]

15 голосов
/ 14 мая 2010

Перемещение аннотаций

Я предполагаю, что вы придерживаетесь поведения Maps.app, когда вы нажимаете и удерживаете булавку, чтобы свободно перемещать ее. Насколько я знаю, не существует встроенного способа перемещения аннотаций вокруг. Поскольку аннотации являются подклассами UIView, вы можете нарисовать их там, где и как хотите. Например, вы можете обнаружить tap-n-hold в аннотации, а когда «разблокировано» изменить значение centerOffset вашей аннотации, чтобы перемещать его касанием. Когда пользователь отпускает вид, вы можете отметить положение на экране и использовать метод MKMapView convertPoint:toCoordinateFromView:, чтобы получить координаты, по которым был отпущен штифт.

Поиск местоположения

То, что вы ищете, называется Forward Geocoding. К сожалению, MapKit поставляется только с обратным геокодированием (процесс преобразования GPS-координат в страну / город / улицу / и т. Д.). Есть, однако, несколько альтернатив. Вот несколько способов:

Обратите внимание, что многие API геокодирования лицензируются под Creative Commons или аналогичными лицензиями.

3 голосов
/ 19 мая 2010

С помощью этого поста вы сможете получать аннотации с помощью перетаскивания. Я использовал это, чтобы сделать то же самое, и начать было довольно просто.

Перетаскивание аннотации MapKit с обновлением информации выноски

...