KMLViewer Вопрос - PullRequest
       16

KMLViewer Вопрос

1 голос
/ 10 мая 2011

Это мой первый пост, и я по общему признанию, но мне нужна некоторая помощь.

Я загрузил пример Apple KMLViewer, чтобы посмотреть наложения на картах.После того, как он начал работать, в рамках моего «расследования» я добавил строку

map = [[MKMapView alloc] initWithFrame:self.view.frame];

сразу после строки

[super viewDidLoad];

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

В результате KMLViewer был скомпилирован и выполнен без ошибок, но больше не отображал созданные наложенияпо файлам kml.Если строка была удалена, снова появлялись пометки.

Что мне не хватает?

Заранее благодарен за любую помощь.

1 Ответ

1 голос
/ 10 мая 2011

Переменная карты в KMLViewer объявлена ​​как IBOutlet и подключена к MKMapView в xib. Повторно создавая его, новый экземпляр больше не подключается к экземпляру в xib.

Наложения, вероятно, не отображаются, потому что:

  • делегат для нового экземпляра не установлен (поэтому не будет вызываться viewForOverlay и т. Д.)
  • новая карта не добавлена ​​как подпредставление

Так что, если вы добавили следующие две строки после alloc + init, он должен снова заработать:

map.delegate = self;
[self.view addSubview:map];

Однако MKMapView в xib все еще будет там, под новым экземпляром карты.

...