#ios #swift #core-location #ios8
#iOS #swift #расположение ядра #ios8
Вопрос:
Итак, я пытаюсь получить CLFloor в основном местоположении, чтобы предоставить мне данные вместо того, чтобы возвращать ноль в Swift, но мне это не удалось. Я попробовал свой собственный код и следующий из NSHipster:
import CoreLocation
class LocationManagerDelegate: NSObject, CLLocationManagerDelegate {
func locationManager(manager: CLLocationManager!, didUpdateLocations locations: AnyObject[]!) {
let location: CLLocation? = locations[0] as? CLLocation
if let floor: CLFloor? = location?.floor {
println("Current Floor: (floor?.level)")
}
}
}
let manager = CLLocationManager()
manager.delegate = LocationManagerDelegate()
manager.startUpdatingLocation()
Кто-нибудь знает, как заставить это работать на устройстве или в симуляторе, я уверен, что ответ принесет пользу многим людям. Если кто-нибудь знает какие-либо хорошие ресурсы по этому или CLVisit, это также было бы полезно.
Ответ №1:
Насколько я понимаю, что было сказано на сессии WWDC 708 — Принимая основное местоположение в помещении, вам необходимо вручную зарегистрироваться и настроить конкретное место на новой странице Apple Maps Connect, чтобы получить информацию о этаже в iOS.
Таким образом, кажется, что информация о этаже не предоставляется автоматически (например, на основе информации о высоте из GPS) для произвольного места.
Ответ №2:
на основе этих 2 ссылок с веб-сайта Apple
Обсуждение Если информация о этаже недоступна для текущего местоположения, значение этого свойства равно нулю.
Я не эксперт в swift, но я думаю, что возвращает ноль, возможно, означает, что в этом месте нет информации о этаже.
Комментарии:
1. Это имеет смысл. Нужно ли устанавливать информацию о этаже через какой-либо другой источник?
2. Я предполагаю, что это автоматически зависит от местоположения GPS. и, возможно, высота
Ответ №3:
Я не думаю, что iOS волшебным образом сообщит вам уровень пола, насколько я понимаю https://developer.apple.com/videos/wwdc/2014/?id=708 . Вам нужно как-то получить это число другим способом. Например. вы можете захватить некоторый сигнал iBeacon и из него загрузить номер уровня этажа или проведите пальцем по экрану, чтобы найти правильную карту этажа, на которой вы находитесь?