Добавить KML или URL-карту в приложение iPhone

Я пытаюсь наложить пользовательский чертеж дизайна дороги (kml или dgn) на карту в моем приложении iPhone с помощью примера Apple KMLViewer. Я могу сказать, что он читает KML, потому что карта масштабируется до границ чертежа, а пара фрагментов чертежа отображается так, как они должны быть. Большая зависание здесь большая часть рисунка не отображается вообще. Приложенный снимок экрана показывает только две строки отображаемого чертежа.

введите описание изображения здесь

Кроме того, просмотрите журнал отладки здесь:

2013-07-25 23: 07: 06.597 KMLViewer [2407: c07] Ожидается, что в окнах приложений будет контроллер корневого представления в конце запуска приложения. Jul 25 23:07:06 Michaels-iMac.local KMLViewer [2407]: ImageIO : CGImageReadSessionGetCachedImageBlockData *** CGImageReadSessionGetCachedImageBlockData: readSession [0x8434040] имеет плохой readRef [0x8463610]

Я провел много исследований, и, похоже, это горячая тема. Могу ли я адаптировать KMLViewer к моему KML или есть лучший метод Apple? Я бы очень признателен за некоторые советы. Чем точнее, тем лучше. Спасибо заранее за ваше время.

2 Solutions collect form web for “Добавить KML или URL-карту в приложение iPhone”

Вы можете использовать что-то вроде MapBox iOS SDK для отображения и Simple KML для синтаксического анализа в родные типы Cocoa. Как указано выше, вы хотите использовать аннотации и их представления / слои, предоставленные делегатом представления карты.

Другой подход, если это статическая карта, заключается в использовании TileMill для визуализации KML в набор фрагментов, которые вы можете наложить на вашу обычную карту.

Я только читал эту тему, так как у меня никогда не было необходимости рисовать собственные маршруты внутри MKMapView, но …

MKPolyLine, класс MapKit и метод протокола mapView:(MKMapView *) viewForOverlay:(id < MKOverlay >) станет способом решения.

Документация Apple на MKPolyLine и mapView: viewForOverlay:

Пример проекта

Быстрый пример, демонстрирующий общую ошибку при обучении рисованию MKPolyLines

редактировать

23:07:06.597 KMLViewer[2407:c07] Application windows are expected to have a root view controller at the end of application launch

потому что вы явно не сказали Xcode, что контроллер просмотра является начальным контроллером представления.

Вам нужно либо заменить [window addSubview:[someController view]]; в

 [self.window setRootViewController:someController]; 

в applicationDidFinishLaunchingWithOptions:

или убедитесь, что ваш main.m указывает надлежащего делегата

 retVal = UIApplicationMain(argc, argv, nil, @"AppDelegate"); 

или (для раскадровки) установите раскадровку в качестве основной раскадровки в настройках сборки

  • MKMapView постоянно контролирует заголовок
  • Использование MapKit для создания настраиваемого образа - iOS
  • Как сделать принудительное обновление местоположения пользователя?
  • Анимировать изменение координат аннотации MapKit в Swift?
  • определить, находится ли точка внутри наложения MKPolygon
  • MkMapView tap + Редактирование аннотации
  • Как я могу решить Завершение из-за ошибки памяти
  • Нарисуйте полилинию между заданными точками на карте
  • Nil несовместим с типом возврата «MKOverlayRenderer»
  • Отображение MKMapViewAnnotations в видимом прямоугольном представлении карты
  • Кнопка просмотра центра в пользовательское местоположение с помощью MapKit
  • Interesting Posts

    Комплекты сборки Qt для IOS отсутствуют после обновления Xcode 7

    Модель MVVM и раскадровка iOS

    iOS 10/11 UICollectionViewFlowLayout с использованием UICollectionViewFlowLayoutAutomaticSize приводит к уменьшению нижнего колонтитула

    установить выравнивание заголовка панели навигации

    В чем заключается цель авторезистентности UIView?

    Последовательная анимация с использованием CAAnimationGroup

    iOS9 для мобильного сафари пейзаж css ошибка с положением: исправлено;

    Uicollectionview шахматная сетка

    Какие языки программирования могут использоваться для разработки приложений для iPhone, iPod Touch и iPad (iOS)?

    Подключение внешней инфраструктуры к цели тестирования модуля UI, iOS

    Поиск всех неперекрывающихся циклов в неориентированном графе

    Обнаруженный внутренний уровень с отсутствующим областью enclosing_building

    UICollectionView горизонтальная прокрутка Фотогалерея с быстрым

    Условно импортировать фреймворк (например, речь) на основе версии iOS в Swift?

    Показывать и исчезать UIImageView через 2 секунды

    PhoneC: Разработка iOS проста с помощью XCode, Swift3, UITableView, cocatouch, давайте создадим приложения для iPhone, iPad и Macbook.