Tencent_Panorama_SDK_v1.1.3
QPanoramaView.h
1 //
2 // QPanoramaView.h
3 // QPanoramaKit_Debug
4 //
5 // Created by xfang on 15/2/12.
6 // Copyright (c) 2015年 tencent. All rights reserved.
7 //
8 
9 #import <UIKit/UIKit.h>
10 #import <CoreLocation/CoreLocation.h>
11 #import "QPanorama.h"
12 #import "QPanoramaCamera.h"
13 #import "QPanoramaCameraUpdate.h"
14 #import "QOrientation.h"
15 #import "QPanoAnnotation.h"
16 #import "QPanoAnnotationView.h"
17 
19 extern NSString *const kQLayerPanoramaHeadingKey;
20 
22 extern NSString *const kQLayerPanoramaPitchKey;
23 
25 extern NSString *const kQLayerPanoramaZoomKey;
26 
27 @protocol QPanoramaViewDelegate;
28 
32 @interface QPanoramaView : UIView
33 
34 
35 
36 @property (nonatomic, strong) QPanorama *panorama;
37 
38 @property (nonatomic, weak) id<QPanoramaViewDelegate> delegate;
39 
45 - (void)setAllGesturesEnabled:(BOOL)enabled;
46 
50 @property (nonatomic, getter=isOrientationEnabled) BOOL orientationEnabled;
51 
55 @property (nonatomic, getter=isZoomEnabled) BOOL zoomEnabled;
56 
60 @property (nonatomic, getter=isNavigationEnable) BOOL navigationEnable;
61 
65 @property (nonatomic, getter=isIndoorLinksHidden) BOOL indoorLinksHidden;
66 
70 @property (nonatomic, getter=isNavigationLinksHidden) BOOL navigationLinksHidden;
71 
75 @property (nonatomic, getter=isStreetNamesHidden) BOOL streetNamesHidden;
76 
80 @property (nonatomic, getter=isParkViewHidden) BOOL parkViewHidden;
81 
85 @property (nonatomic, getter=isAllParkViewHidden) BOOL allParkViewHidden;
86 
90 @property (nonatomic, getter=isMotionEnable) BOOL motionEnable;
91 
95 @property (nonatomic, strong) QPanoramaCamera *camera;
96 
103 - (void)animateToCamera:(QPanoramaCamera *)camera animationDuration:(NSTimeInterval)duration;
104 
111 - (void)updateCamera:(QPanoramaCameraUpdate *)cameraUpdate animationDuration:(NSTimeInterval)duration;
112 
118 - (void)moveToNearCoordinate:(CLLocationCoordinate2D)coordiante;
119 
126 - (void)moveNearCoordinate:(CLLocationCoordinate2D)coordinate
127  radius:(NSUInteger)radius;
128 
134 - (void)moveToPanoramaID:(NSString *)panoramaID;
135 
136 
145 + (instancetype)panoramaViewWithFrame:(CGRect)frame
146  nearCoordinate:(CLLocationCoordinate2D)coordinate;
147 
157 + (instancetype)panoramaViewWithFrame:(CGRect)frame
158  nearCoordinate:(CLLocationCoordinate2D)coordinate
159  radius:(NSUInteger)radius;
160 
161 
167 - (void)addAnnotation:(id<QPanoAnnotation>)annotation;
168 
174 - (void)addAnnotations:(NSArray *)annotations;
175 
181 - (void)removeAnnotation:(id<QPanoAnnotation>)annotation;
182 
188 - (void)removeAnnotations:(NSArray *)annotations;
189 
193 @property (nonatomic, readonly) NSArray *annotations;
194 
202 - (QPanoAnnotationView *)viewForAnnotation:(id<QPanoAnnotation>)annotation;
203 
211 - (QPanoAnnotationView *)dequeueReusableAnnotationViewWithIdentifier:(NSString *)identifier;
212 
213 @end
214 
216 
225 - (CGPoint)pointFromCoordinate:(CLLocationCoordinate2D)coordinate height:(CGFloat)height;
226 
227 @end
228 
229 
230 @protocol QPanoramaViewDelegate <NSObject>
231 
232 @optional
233 
234 #pragma mark - Annotation
235 
243 - (QPanoAnnotationView *)panoramaView:(QPanoramaView *)panoramaView viewForAnnotation:(id<QPanoAnnotation>)annotation;
244 
251 - (void)panoramaView:(QPanoramaView *)panoramaView didAddAnnotationViews:(NSArray *)views;
252 
259 - (void)panoramaView:(QPanoramaView *)panoramaView didSelectAnnotationView:(QPanoAnnotationView *)view;
260 
267 - (void)panoramaView:(QPanoramaView *)panoramaView didDeselectAnnotationView:(QPanoAnnotationView *)view;
268 
276 - (void)panoramaView:(QPanoramaView *)panoramaView annotationView:(QPanoAnnotationView *)view calloutAccessoryControlTapped:(UIControl *)control;
277 
278 #pragma mark - Others
279 
286 - (void)panoramaView:(QPanoramaView *)panoramaView willMoveToPanoramaID:(NSString *)panoramaID;
287 
292 - (void)panoramaView:(QPanoramaView *)panoramaView didMoveToPanorama:(QPanorama *)panorama;
293 
301 - (void)panoramaView:(QPanoramaView *)panoramaView didMoveToPanorama:(QPanorama *)panorama nearCoordinate:(CLLocationCoordinate2D)coordinate;
302 
310 - (void)panoramaView:(QPanoramaView *)view
311  error:(NSError *)error
312 onMoveNearCoordinate:(CLLocationCoordinate2D)coordinate;
313 
314 
322 - (void)panoramaView:(QPanoramaView *)view
323  error:(NSError *)error
324  onMoveToPanoramaID:(NSString *)panoramaID;
325 
330 - (void)panoramaView:(QPanoramaView *)panoramaView
331  didMoveCamera:(QPanoramaCamera *)camera;
332 
339 - (void)panoramaView:(QPanoramaView *)panoramaView didTap:(CGPoint)point;
340 
341 
342 @end
Definition: QPanoramaView.h:215
BOOL orientationEnabled
是否允许手势拖动来改变街景视角
Definition: QPanoramaView.h:50
该类用于控制QPanoramaView的视角,和具体的街景场景点无关
Definition: QPanoramaCamera.h:16
Definition: QPanoramaView.h:230
BOOL navigationEnable
场景导航链接是否可点击
Definition: QPanoramaView.h:60
BOOL streetNamesHidden
是否隐藏道路名
Definition: QPanoramaView.h:75
BOOL motionEnable
是否使用方向传感器自动移动视角
Definition: QPanoramaView.h:90
BOOL parkViewHidden
是否隐藏内景场景选择栏(保留退出按钮)
Definition: QPanoramaView.h:80
街景标注协议
Definition: QPanoAnnotation.h:15
该类为标注点的view
Definition: QPanoAnnotationView.h:15
BOOL allParkViewHidden
是否隐藏内景场景选择栏(不保留退出按钮)
Definition: QPanoramaView.h:85
QPanoramaCamera * camera
QCamera对象,控制场景视角
Definition: QPanoramaView.h:95
用于场景视角更新
Definition: QPanoramaCameraUpdate.h:14
BOOL zoomEnabled
是否支持手势缩放场景(双指放大/缩小, 单指双击放大)
Definition: QPanoramaView.h:55
承载街景的view,提供添加标注,切换场景,视角变换,动画等功能
Definition: QPanoramaView.h:32
BOOL indoorLinksHidden
是否隐藏场景内景链接
Definition: QPanoramaView.h:65
BOOL navigationLinksHidden
是否隐藏场景导航链接
Definition: QPanoramaView.h:70
该类封装了街景场景相关属性
Definition: QPanorama.h:14