Как получить регион MKMapView - PullRequest
0 голосов
/ 29 марта 2020

Я пытаюсь получить регион MKMapView. Образцы кода во всех интернетах показывают, что это просто mapView.region, но моя ссылка на mapView не показывает, что у него есть какие-либо свойства.

Шаг 1. Создайте переменную в моем ViewController (пробовал это со слабым и сильным)

@property (weak, nonatomic)  MKMapView *tableMapView;

Шаг 2:

Напишите некоторый код в updateSearchResultsForSearchController для поиска по региону, но ужасно завершите с ошибкой.

MKLocalSearchRequest *request = [[MKLocalSearchRequest alloc] init];
request.naturalLanguageQuery = self.searchController.searchBar.text;
request.region = self.tableMapView.region <--- "Member reference base type int is not a struct or union."

Шаг 3:

Попытайтесь получить доступ к любым свойствам или методам в моем просмотре карты и ничего не получить.

self.tableMapView.nnnnnn

ОБНОВЛЕНИЕ:

Исправлены все КРАСНЫЕ предупреждения и теперь получено следующее:

@property (weak, nonatomic)  MKMapView *tableMapView;  <-- property with WEAK attribute must be of type object

ИСПРАВЛЕНО:

Исправлено только использование nonatomi c.

1 Ответ

0 голосов
/ 31 марта 2020

Для яблока документация:

https://developer.apple.com/documentation/mapkit/mklocalsearchrequest?language=objc

Если ваше приложение использует объект MKLocalSearchCompleter для реализации поддержки автозаполнения для пользовательских строк поиска , инициализируйте ваш поисковый запрос, используя завершение поиска, выбранное пользователем. В этом случае используйте метод initWithCompletion: для инициализации объекта поискового запроса вместо метода init. Объект завершения автоматически предоставляет значение для свойства naturalLanguageQuery.

И использует метод экземпляра https://developer.apple.com/documentation/mapkit/mklocalsearchrequest/3235757-initwithnaturallanguagequery?language=objc

...