GMSIndoorDisplay.h 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. //
  2. // GMSIndoorDisplay.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 <Foundation/Foundation.h>
  11. #if __has_feature(modules)
  12. @import GoogleMapsBase;
  13. #else
  14. #import <GoogleMapsBase/GoogleMapsBase.h>
  15. #endif
  16. @class GMSIndoorBuilding;
  17. @class GMSIndoorLevel;
  18. GMS_ASSUME_NONNULL_BEGIN
  19. /** Delegate for events on GMSIndoorDisplay. */
  20. @protocol GMSIndoorDisplayDelegate<NSObject>
  21. @optional
  22. /**
  23. * Raised when the activeBuilding has changed. The activeLevel will also have
  24. * already been updated for the new building, but didChangeActiveLevel: will
  25. * be raised after this method.
  26. */
  27. - (void)didChangeActiveBuilding:(GMSIndoorBuilding *GMS_NULLABLE_PTR)building;
  28. /**
  29. * Raised when the activeLevel has changed. This event is raised for all
  30. * changes, including explicit setting of the property.
  31. */
  32. - (void)didChangeActiveLevel:(GMSIndoorLevel *GMS_NULLABLE_PTR)level;
  33. @end
  34. /**
  35. * Provides ability to observe or control the display of indoor level data.
  36. *
  37. * Like GMSMapView, GMSIndoorDisplay may only be used from the main thread.
  38. */
  39. @interface GMSIndoorDisplay : NSObject
  40. /** GMSIndoorDisplay delegate */
  41. @property(nonatomic, weak) id<GMSIndoorDisplayDelegate> GMS_NULLABLE_PTR delegate;
  42. /**
  43. * Provides the currently focused building, will be nil if there is no
  44. * building with indoor data currently under focus.
  45. */
  46. @property(nonatomic, strong, readonly) GMSIndoorBuilding *GMS_NULLABLE_PTR activeBuilding;
  47. /**
  48. * Provides and controls the active level for activeBuilding. Will be updated
  49. * whenever activeBuilding changes, and may be set to any member of
  50. * activeBuilding's levels property. May also be set to nil if the building is
  51. * underground, to stop showing the building (the building will remain active).
  52. * Will always be nil if activeBuilding is nil.
  53. * Any attempt to set it to an invalid value will be ignored.
  54. */
  55. @property(nonatomic, strong) GMSIndoorLevel *GMS_NULLABLE_PTR activeLevel;
  56. @end
  57. GMS_ASSUME_NONNULL_END