GMSPanoramaCamera.h 2.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. //
  2. // GMSPanoramaCamera.h
  3. // Google Maps SDK for iOS
  4. //
  5. // Copyright 2013 Google Inc.
  6. //
  7. // Usage of this SDK is subject to the Google Maps/Google Earth APIs Terms of
  8. // Service: https://developers.google.com/maps/terms
  9. //
  10. #import <CoreLocation/CoreLocation.h>
  11. #if __has_feature(modules)
  12. @import GoogleMapsBase;
  13. #else
  14. #import <GoogleMapsBase/GoogleMapsBase.h>
  15. #endif
  16. #import <GoogleMaps/GMSOrientation.h>
  17. GMS_ASSUME_NONNULL_BEGIN
  18. /**
  19. * GMSPanoramaCamera is used to control the viewing direction of a GMSPanoramaView. It does not
  20. * contain information about which particular panorama should be displayed.
  21. */
  22. @interface GMSPanoramaCamera : NSObject
  23. /**
  24. * Designated initializer. Configures this GMSPanoramaCamera with |orientation|, |zoom| and |FOV|.
  25. * These values will be clamped to acceptable ranges.
  26. */
  27. - (id)initWithOrientation:(GMSOrientation)orientation zoom:(float)zoom FOV:(double)FOV;
  28. /**
  29. * Convenience constructor specifying heading and pitch as part of |orientation|, plus |zoom| and
  30. * default field of view (90 degrees).
  31. */
  32. + (instancetype)cameraWithOrientation:(GMSOrientation)orientation zoom:(float)zoom;
  33. /**
  34. * Convenience constructor specifying |heading|, |pitch|, |zoom| with default field of view (90
  35. * degrees).
  36. */
  37. + (instancetype)cameraWithHeading:(CLLocationDirection)heading pitch:(double)pitch zoom:(float)zoom;
  38. /**
  39. * Convenience constructor for GMSPanoramaCamera, specifying all camera properties with heading and
  40. * pitch as part of |orientation|.
  41. */
  42. + (instancetype)cameraWithOrientation:(GMSOrientation)orientation zoom:(float)zoom FOV:(double)FOV;
  43. /**
  44. * Convenience constructor for GMSPanoramaCamera, specifying all camera properties.
  45. */
  46. + (instancetype)cameraWithHeading:(CLLocationDirection)heading
  47. pitch:(double)pitch
  48. zoom:(float)zoom
  49. FOV:(double)FOV;
  50. /**
  51. * The field of view (FOV) encompassed by the larger dimension (width or height) of the view in
  52. * degrees at zoom 1. This is clamped to the range [1, 160] degrees, and has a default value of 90.
  53. *
  54. * Lower FOV values produce a zooming in effect; larger FOV values produce an fisheye effect.
  55. *
  56. * Note: This is not the displayed FOV if zoom is anything other than 1. User zoom gestures
  57. * control the zoom property, not this property.
  58. */
  59. @property(nonatomic, assign, readonly) double FOV;
  60. /**
  61. * Adjusts the visible region of the screen. A zoom of N will show the same area as the central
  62. * width/N height/N area of what is shown at zoom 1.
  63. *
  64. * Zoom is clamped to the implementation defined range [1, 5].
  65. */
  66. @property(nonatomic, assign, readonly) float zoom;
  67. /**
  68. * The camera orientation, which groups together heading and pitch.
  69. */
  70. @property(nonatomic, assign, readonly) GMSOrientation orientation;
  71. @end
  72. GMS_ASSUME_NONNULL_END