Перемещение аннотаций
Я предполагаю, что вы придерживаетесь поведения Maps.app, когда вы нажимаете и удерживаете булавку, чтобы свободно перемещать ее. Насколько я знаю, не существует встроенного способа перемещения аннотаций вокруг. Поскольку аннотации являются подклассами UIView
, вы можете нарисовать их там, где и как хотите. Например, вы можете обнаружить tap-n-hold в аннотации, а когда «разблокировано» изменить значение centerOffset
вашей аннотации, чтобы перемещать его касанием. Когда пользователь отпускает вид, вы можете отметить положение на экране и использовать метод MKMapView
convertPoint:toCoordinateFromView:
, чтобы получить координаты, по которым был отпущен штифт.
Поиск местоположения
То, что вы ищете, называется Forward Geocoding. К сожалению, MapKit поставляется только с обратным геокодированием (процесс преобразования GPS-координат в страну / город / улицу / и т. Д.). Есть, однако, несколько альтернатив. Вот несколько способов:
Обратите внимание, что многие API геокодирования лицензируются под Creative Commons или аналогичными лицензиями.