我的应用程序中有一个GMSPanoramaView开关,其中包含一些街景图像。我想将这些图像更改为具有不同"方向"的多个位置。
我看不到用新位置和新标题同时更新视图的方法。
我能看到的唯一方法是更新位置(通过moveNearCoordinate
函数)并且仅在相机的航向之后(通过updateCamera:
函数)。
但这种方式会导致视觉图像的"跳跃"——显示新位置的视图,而不是跳转到所需的标题。(如果我先更新相机,然后再更新位置,也会发生同样的情况)。
我希望视图能立即显示新位置的特定方向。我很乐意找到一些解决方案。thanx。
您应该用GMSPanoramaViewDelegate
给您的方法更改标题
- (void)panoramaView:(GMSPanoramaView *)view
didMoveToPanorama:(GMSPanorama *)panorama
nearCoordinate:(CLLocationCoordinate2D)coordinate
在这种方法中,只有在通过更新相机更改了标题后,才应调用self.view = self.panoramaView;
。这就是我在设置panoramaView
标题时遇到的类似问题的解决方法。
func panoramaViewDidFinishRendering(_ panoramaView: GMSPanoramaView) {
if (flag_init){
flag_init = NO
panoramaView.camera = GMSPanoramaCamera(heading: 180, pitch: 1, zoom: 1)
panoramaView.alpha = 1
}
}
我找不到如何做到这一点,但可以最大限度地减少时间,当然,你可以修改代码,以确保阿尔法值变为1,以便第二次渲染