Я пытаюсь изучить API Google Map API, и я создаю приложение, имеющее два UIViewController
. Корень UIViewController
загружает Google Street View Panorama, как показано ниже:Получение и сохранение положения PanoramaView перед изменением VC
@IBOutlet weak var viewStreet: UIView!
var panoView: GMSPanoramaView!
override func viewDidLoad() {
super.viewDidLoad()
let panoView = GMSPanoramaView(frame: CGRectMake(0, 0, self.view.bounds.size.width, self.view.bounds.size.height))
panoView.delegate = self
panoView.moveNearCoordinate(CLLocationCoordinate2D(latitude: -33.732, longitude: 150.312))
viewStreet.addSubview(panoView)
viewStreet.sendSubviewToBack(panoView)
}
Я добавил UIButton
, который загружает другой UIViewController
, и я готов добавить кнопку «Назад», чтобы вернуться к первому. Использование segues отлично работает, но panoView
всегда загружается в latitude: -33.732, longitude: 150.312
, так как я его инициализировал. То, что я пытаюсь достичь, - это вернуться к длине последней панорамы, загруженной до перехода на второй VC, например:
viewDidLoad -> lat. x1, длинный. y1;
переход на другую панораму -> лат. x2, длинный. у2;
изменение UIViewController
;
back to root VC, panorama lat. и долго. должен быть (x2, y2).
Использование метода didMoveToPanorama
я могу получить panoID каждый раз при изменении PanoramaView, проблема заключается в его хранении при изменении VC. Могу ли я использовать NSUserDefaults
или есть лучший способ? Вот код:
func panoramaView(view: GMSPanoramaView, didMoveToPanorama panorama: GMSPanorama?) {
panoID = panorama!.panoramaID
}
Обратите внимание, что метод didMoveToPanorama:nearCoordinate:
не может быть использован, так как он вызывается только когда Panorama переместилась из-за moveNearCoordinate
На стороне записки, я отредактировали название потому что это вводит в заблуждение , и улучшенный пост с дополнительной информацией.
Ty, но вот так я могу сохранить только статический lat/long, в то время как мне нужно сохранить последние до изменения VC. Я был неясно, может, простите, но английский не мой родной язык, теперь я отредактировал пост, предоставляя более точный запрос и больше кода. Если вам удастся исправить код, чтобы получить panoID или lat/long из последней загруженной панорамы, я могу отметить это как принятый ответ. –
Я не думаю, что подача голоса - это хороший способ попросить о дальнейшей помощи ... Я согласен, что вы не поняли. – AnthoPak
Не дал понизить голос, я оценил ваши усилия. Просто посмотри на моего представителя, до 15 я не могу подняться или спуститься. Удалив это, как только вы прочтете. :) –