Создание SwiftUI iOS приложения “Карта с поиском”  в тандеме с ИИ Gemini 2.5 Pro Experimental 

iOS 17 принесла разработчикам SwiftUI настоящий подарок от MapKit — кучу новых фишек, которые не потребуют никаких шаманских бубнов и костылей из UIKit

  • новый Map (position:selection:content:) задает положение камеры position и отслеживает  выбор selection на карте,
  • внутрь карты Map можно добавлять аннотации, маркеры, полигоны, маршруты через обычный SwiftUI DSL (ForEach, Marker, Annotation и т.д.), который называется MapContentBuilder и позволяет строить карты декларативно, как обычный View,
  • LookAroundPreview (аналог панорам улиц) можно показать для конкретной точки на карте,  
  • теперь стандартные элементы управления картой добавляются через модификаторы: компас .mapControl(.compass), пользователь mapControl(.userLocation), масштабная линейка .mapControl(.scaleView),
  • данные поисковых подсказок  MKLocalSearchCompletion теперь легко попадают в SwiftUI через @State.

Чтобы разобраться с новыми API, я решила поработать с небольшим скромным iOS приложением, которое описывается в посте Building a searchable map with SwiftUI and MapKit  (перевод этого поста на русский находится здесь) вместе с блестящим ИИ от Google, Gemini 2.5 Pro Experimental, чтобы привести его в работоспособное состояние.

Читать далее