Получить название компании от CLPlacemark - PullRequest
0 голосов
/ 21 апреля 2019

Я пытаюсь получить название компании от CLLocation.Я могу получить точный адрес улицы путем обратного геокодирования CLLocation, но не могу получить название предприятия, поскольку свойство name в CLPlacemark является просто адресом.

Iпытался:

  • Доступ к свойству name в CLPlacemark: возвращает адрес улицы
  • Доступ к свойству areasOfInterest в CLPlacemark: возвращает ноль
  • Использование MKLocalSearchCompleter с запросом, установленным на уличный адрес Возвращение адреса улицы
  • Использование MKLocalSearch с запросом напочтовый адрес ничего не возвращает

Что странно, так это то, что приложение Apple Maps позволяет искать адрес улицы, и название компании будет отображаться в большинстве мест (и использовать адресв качестве запасного варианта , как показано здесь ), но я не могу воспроизвести эту функцию с открытыми API.То, что я хочу, просто невозможно с MapKit?

CLGeocoder().reverseGeocodeLocation(location, completionHandler: { (placemarks, error ) in
            guard let placemarks = placemarks else {
                fatalError("Error: failed to reverse geocode location. \(error?.localizedDescription ?? "")")
            }


            for placemark in placemarks {
                print(placemark.name)
            }

            // Do something to get the *true* placemark name.
        })
...