- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试学习 Google Map API,并且正在构建一个具有两个 UIViewController
的应用程序。根 UIViewController
加载 Google 街景全景图,如下所示:
@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
总是在纬度:-33.732,经度:150.312
加载,因为我已经初始化了它。我想要实现的是在切换到第二个 VC 之前返回到最后加载的全景图的纬度/经度,例如:
viewDidLoad -> 纬度。 x1,长。 y1;
移动到另一个全景 -> 纬度。 x2,长。 y2;
改变UIViewController
;
返回根 VC,全景纬度。又长。应该是(x2,y2)。
使用didMoveToPanorama
方法我可以在每次PanoramaView更改时获取panoID,问题是当VC更改时存储它。我可以使用 NSUserDefaults 还是有更好的方法?这是代码:
func panoramaView(view: GMSPanoramaView, didMoveToPanorama panorama: GMSPanorama?) {
panoID = panorama!.panoramaID
}
请注意,无法使用方法 didMoveToPanorama:nearCooperative:
,因为仅当 Panorama 由于 moveNearCooperative
而移动时才会调用该方法
顺便说一句,我编辑了标题,因为它具有误导性,并通过更多信息改进了帖子。
最佳答案
您可以做的是在更改 Controller 之前存储纬度和经度值,然后将它们恢复为如下所示:
CGFloat latitudeSave;
CGFloat longitudeSave;
-(void) viewWillDisappear:(BOOL)animated {
[super viewWillDisappear:animated];
latitudeSave = -33.732; //save current coordonates here (use panoView current values)
longitudeSave = 150.312;
}
-(void) viewWillAppear:(BOOL)animated {
[super viewWillAppear:animated];
[panoView moveNearCoordinate:CLLocationCoordinate2D(latitude: latitudeSave, longitude: longitudeSave)]; //not sure of this line
}
关于ios - 在更改 VC 之前获取并存储 PanoramaView 的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37933712/
我正在为我的应用程序使用 Tank-Auth。我唯一的问题是激活和重置帐户密码。 用于登录、注册、注销;我对这些代码没有问题; $route['login'] = "/auth/login"; $ro
我是一名优秀的程序员,十分优秀!