GMSPanoramaView 类参考

GMSPanoramaView 类参考

概览

全景图片用于显示街景图像。

此布局应通过 [[GMSPanoramaView alloc] initWithFrame:] 进行构建,并在初始化后进行配置。

与所有 UIKit 对象类似,所有属性和方法都应在主线程上访问。此外,系统也只会在主线程上回调GMSPanoramaViewDelegate方法。

在看不到任何全景图片时(例如,正在加载或全景图片后期设置为 nil 时),会显示此视图的 backgroundColor。不支持 backgroundColor 的 Alpha 颜色。

公开成员函数

(void) - setAllGesturesEnabled
 设置是应启用(默认)还是停用所有手势的偏好设置。
(void) - animateToCamera:animationDuration
 duration(以秒为单位)上以动画方式将此GMSPanoramaView的镜头设置为camera
(void) - updateCamera:animationDuration
 根据 cameraUpdate,在 duration(以秒为单位)内修改相机。
(void) - moveNearCoordinate
 请求获取coordinate附近的全景图片。
(void) - moveNearCoordinate:radius
 与 moveNearCoordinate 类似:但允许指定以 coordinate 为中心的搜索半径(米)。
(void) - moveNearCoordinate:source
 与 moveNearCoordinate 类似:但允许指定 coordinate 附近的来源。
(void) - moveNearCoordinate:radius:source:
 与 moveNearCoordinate 类似:但允许指定以 coordinate 和来源为中心的搜索半径(米)。
(void) - moveToPanoramaID
 使用 panoramaID 请求全景图片。
(CGPoint)- pointForOrientation
 对于当前视图,返回 orientation 指向的屏幕点。
(GMSOrientation)- orientationForPoint
 给定此视图的点,返回通过该屏幕位置的当前镜头方向。

静态公开成员函数

(实例类型)+ panoramaWithFrame:nearCoordinate:
 GMSPanoramaView的便捷构造函数,可用于搜索并显示coordinate附近的GMSPanorama
(实例类型)+ panoramaWithFrame:nearCoordinate:radius:
 与 PanoramaWithFrame:nearCoordinate: 类似,但允许指定以 coordinate 为中心的搜索半径(米)。
(实例类型)+ panoramaWithFrame:nearCoordinate:source:
 GMSPanoramaView的便捷构造函数,可用于搜索并显示coordinate附近的GMSPanorama
(实例类型)+ panoramaWithFrame:nearCoordinate:radius:source:
 GMSPanoramaView的便捷构造函数,可用于搜索并显示coordinate附近的GMSPanorama

属性

GMSPanorama全景图片
 要显示的全景图片;对其进行设置会转换为新的全景图片。
IBOutlet ID
< GMSPanoramaViewDelegate >
委托
 GMSPanoramaView委托。
BOOL orientationGestures
 控制是启用(默认)还是停用方向手势。
BOOL zoomGestures
 控制是启用(默认)还是停用缩放手势。
BOOL navigationGestures
 控制是启用(默认)还是停用导航手势。
BOOL navigationLinksHidden
 控制可点按的导航链接是隐藏还是可见(默认)。
BOOL streetNamesHidden
 控制街道名称叠加层是隐藏还是可见(默认)。
GMSPanoramaCameracamera
 控制全景图片的相机。
GMSPanoramaLayer
 用于图层的自定义 CALayer 类型的访问器。

成员函数文档

- (void) setAllGesturesEnabled (BOOL)  已启用

设置是应启用(默认)还是停用所有手势的偏好设置。

这不会限制镜头的程序化移动或全景图片的控制。

- (void) animateToCamera: (GMSPanoramaCamera *) camera
动画时长: (NSTimeInterval) 时长

duration(以秒为单位)上以动画方式将此GMSPanoramaView的镜头设置为camera

- (void) updateCamera: (GMSPanoramaCameraUpdate *) cameraUpdate
动画时长: (NSTimeInterval) 时长

根据 cameraUpdate,在 duration(以秒为单位)内修改相机。

- (void) moveNearCoordinate (CLLocationCoordinate2D)  坐标

请求获取coordinate附近的全景图片。

成功完成后,PanoramaView:didMoveToPanorama: 和 PanoramaView:didMoveToPanorama:nearCoordinate: 将会发送到GMSPanoramaViewDelegate

出现错误时,将发送 PanoramaView:error:onMoveNearCoordinate:。

重复调用 moveNearCoordinate:会导致上一个待处理(未完成)转换被取消,只有最新的 moveNearCoordinate: 和 moveToPanoramaId: 会继续并生成事件。

- (void) moveNearCoordinate (CLLocationCoordinate2D)  坐标
半径: (NSUInteger)  半径

与 moveNearCoordinate 类似:但允许指定以 coordinate 为中心的搜索半径(米)。

- (void) moveNearCoordinate (CLLocationCoordinate2D)  坐标
信息来源: (GMSPanoramaSource) 来源

与 moveNearCoordinate 类似:但允许指定 coordinate 附近的来源。

此 API 目前处于实验阶段,有时可能无法按来源过滤。

- (void) moveNearCoordinate (CLLocationCoordinate2D)  坐标
半径: (NSUInteger)  半径
信息来源: (GMSPanoramaSource) 来源

与 moveNearCoordinate 类似:但允许指定以 coordinate 和来源为中心的搜索半径(米)。

此 API 目前处于实验阶段,有时可能无法按来源过滤。

- (void) moveToPanoramaID (NSString *)  panoramaID

使用 panoramaID 请求全景图片。

成功完成后,PanoramaView:didMoveToPanorama: 将被发送到GMSPanoramaViewDelegate

发生错误时,将发送 PanoramaView:error:onMoveToPanoramaID:。

重复调用 moveToPanoramaID: 会导致前一个待处理(未完成)转换被取消,只有最新的 moveNearCoordinate: 和 moveToPanoramaId: 会继续并生成事件。

仅支持从 Google Maps SDK for iOS 获取的 landscapeID。

- (CGPoint) pointForOrientation: (GMSOrientation) 屏幕方向

对于当前视图,返回 orientation 指向的屏幕点。

对于距离正前方足够远的朝向,该值可能位于视图之外。

结果将包含指向远离视图的镜头方向的 NaN,其中隐含的屏幕点在朝向方向上与镜头之间的距离为负。

- (GMSOrientation) orientationForPoint (CGPoint)

给定此视图的点,返回通过该屏幕位置的当前镜头方向。

在这个视图的中心位置,返回的GMSOrientation将与当前GMSPanoramaCamera的大致相等。

+ (实例类型)PanoramaWithFrame: (CGRect)
附近坐标: (CLLocationCoordinate2D)  坐标

GMSPanoramaView的便捷构造函数,可用于搜索并显示coordinate附近的GMSPanorama

此操作执行类似于 moveNearCoordinate: 的操作,并调用相同的委托方法。

+ (实例类型)PanoramaWithFrame: (CGRect)
附近坐标: (CLLocationCoordinate2D)  坐标
半径: (NSUInteger)  半径

与 PanoramaWithFrame:nearCoordinate: 类似,但允许指定以 coordinate 为中心的搜索半径(米)。

+ (实例类型)PanoramaWithFrame: (CGRect)
附近坐标: (CLLocationCoordinate2D)  坐标
信息来源: (GMSPanoramaSource) 来源

GMSPanoramaView的便捷构造函数,可用于搜索并显示coordinate附近的GMSPanorama

此操作执行类似于 moveNearCoordinate:source 的操作,并调用相同的委托方法。

此 API 目前处于实验阶段,有时可能无法按来源过滤。

+ (实例类型)PanoramaWithFrame: (CGRect)
附近坐标: (CLLocationCoordinate2D)  坐标
半径: (NSUInteger)  半径
信息来源: (GMSPanoramaSource) 来源

GMSPanoramaView的便捷构造函数,可用于搜索并显示coordinate附近的GMSPanorama

此操作执行的操作类似于 moveNearCoordinate:radius:source ,并且会调用相同的委托方法。

此 API 目前处于实验阶段,有时可能无法按来源过滤。


属性说明

- (GMSPanorama*) 全景 [read, write, assign]

要显示的全景图片;对其进行设置会转换为新的全景图片。

这是动画效果,初始全景除外。

可以设置为 nil 以清除视图。

- (IBOutlet id<GMSPanoramaViewDelegate>) 委托 [read, write, assign]

GMSPanoramaView委托。

- (BOOL) orientationGestures [read, write, assign]

控制是启用(默认)还是停用方向手势。

启用后,用户可以使用手势更改摄像头的朝向。

这不会限制镜头的程序化移动。

- (BOOL) zoomGestures [read, write, assign]

控制是启用(默认)还是停用缩放手势。

启用后,用户可以通过双指张合来缩放镜头。

这不会限制镜头的程序化移动。

- (BOOL) navigationGestures [read, write, assign]

控制是启用(默认)还是停用导航手势。

启用后,用户可以通过单次点按导航链接或两次点按视图来更改全景图片。

这不限制对全景图片进行程序化控制。

- (BOOL) navigationLinksHidden [read, write, assign]

控制可点按的导航链接是隐藏还是可见(默认)。

无法点按隐藏的导航链接。

- (BOOL) streetNamesHidden [read, write, assign]

控制街道名称叠加层是隐藏还是可见(默认)。

- (GMSPanoramaCamera*) 镜头 [read, write, assign]

控制全景图片的相机。

在此处设置新镜头会跳转到新的镜头值,且没有动画。

- (GMSPanoramaLayer*) 图层 [read, retain]

用于图层的自定义 CALayer 类型的访问器。