Требуется ли для обратного геокодирования сотовая связь / Wi-Fi?

Требуется ли для обратного геокодирования сотовая связь / Wi-Fi? Я использую следующий код, чтобы найти название города и почтовый индекс. Будет ли этот код работать в среде с подключением GPS, но без сотовой связи?

   geoCoder.reverseGeocodeLocation(location, completionHandler: { (placemarks, error) -> Void in
        print("REVERSE COMPLETED")
        // Place details
        var placeMark: CLPlacemark!
        placeMark = placemarks?[0]

        // Address dictionary
        print(placeMark.addressDictionary)

        // City
        if let city = placeMark.addressDictionary!["City"] as? NSString {
            print("You are in \(city)")
        } else {
            print("An error occured while fetching the CITY.")
        }

        // Zip code
        if let zip = placeMark.addressDictionary!["ZIP"] as? NSString {
            print("The zip code is \(zip)")
        } else {
            print("An error occured while fetching the ZIP code.")
        }
    })

1 ответ

Решение

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

Программное обеспечение и базы данных большие и дорогие. Я не знаю программного обеспечения ГИС для мобильных устройств - с мобильных устройств все это делается в облаке.

Единственное, что вы можете сделать на iOS с GPS, но без интернета, это собирать лат / длинные позиции.

Кстати, это не имеет никакого отношения к Swift. Менеджер местоположений является частью iOS и может вызываться из любого поддерживаемого языка. Это не "быстрое геокодирование". Это геокодирование iOS Core Location.

Другие вопросы по тегам