// // GMSIndoorDisplay.h // Google Maps SDK for iOS // // Copyright 2013 Google Inc. // // Usage of this SDK is subject to the Google Maps/Google Earth APIs Terms of // Service: https://developers.google.com/maps/terms // #import #if __has_feature(modules) @import GoogleMapsBase; #else #import #endif @class GMSIndoorBuilding; @class GMSIndoorLevel; GMS_ASSUME_NONNULL_BEGIN /** Delegate for events on GMSIndoorDisplay. */ @protocol GMSIndoorDisplayDelegate @optional /** * Raised when the activeBuilding has changed. The activeLevel will also have * already been updated for the new building, but didChangeActiveLevel: will * be raised after this method. */ - (void)didChangeActiveBuilding:(GMSIndoorBuilding *GMS_NULLABLE_PTR)building; /** * Raised when the activeLevel has changed. This event is raised for all * changes, including explicit setting of the property. */ - (void)didChangeActiveLevel:(GMSIndoorLevel *GMS_NULLABLE_PTR)level; @end /** * Provides ability to observe or control the display of indoor level data. * * Like GMSMapView, GMSIndoorDisplay may only be used from the main thread. */ @interface GMSIndoorDisplay : NSObject /** GMSIndoorDisplay delegate */ @property(nonatomic, weak) id GMS_NULLABLE_PTR delegate; /** * Provides the currently focused building, will be nil if there is no * building with indoor data currently under focus. */ @property(nonatomic, strong, readonly) GMSIndoorBuilding *GMS_NULLABLE_PTR activeBuilding; /** * Provides and controls the active level for activeBuilding. Will be updated * whenever activeBuilding changes, and may be set to any member of * activeBuilding's levels property. May also be set to nil if the building is * underground, to stop showing the building (the building will remain active). * Will always be nil if activeBuilding is nil. * Any attempt to set it to an invalid value will be ignored. */ @property(nonatomic, strong) GMSIndoorLevel *GMS_NULLABLE_PTR activeLevel; @end GMS_ASSUME_NONNULL_END