MMKPanoramaDescription
@interface MMKPanoramaDescription : NSObject |
Undocumented
Summary
Class methods
+ (nonnull MMKPanoramaDescription *)panoramaDescriptionWithPanoramaId:(nonnull NSString *)panoramaId |
Properties
@property (nonatomic, readonly, nonnull) NSString *panoramaId; |
@property (nonatomic, readonly, nullable) MMKPanoramaPosition *position; |
@property (nonatomic, readonly, nonnull) |
@property (nonatomic, readonly, nonnull) MMKPanoramaImageSize *tileSize; |
@property (nonatomic, readonly, nonnull) |
@property (nonatomic, readonly, nonnull) |
@property (nonatomic, readonly, nonnull) |
@property (nonatomic, readonly, nonnull) |
@property (nonatomic, readonly, nonnull) |
@property (nonatomic, readonly, nonnull) |
@property (nonatomic, readonly, nonnull) MMKDirection *direction; |
@property (nonatomic, readonly, nonnull) MMKSpan *span; |
@property (nonatomic, readonly, nullable) MMKAttribution *attribution; |
Class methods
panoramaDescriptionWithPanoramaId:position:angularBBox:tileSize:tileLevels:iconMarkers:textMarkers:companyMarkers:iconConnections:arrowConnections:direction:span:attribution:
+ (nonnull MMKPanoramaDescription *)panoramaDescriptionWithPanoramaId:(nonnull NSString *)panoramaId |
Properties
panoramaId
@property (nonatomic, readonly, nonnull) NSString *panoramaId; |
panoramaId is passed as a parameter to the TileImageFactory or to the TileUrlProvider
position
@property (nonatomic, readonly, nullable) MMKPanoramaPosition *position; |
Geo position.
Optional field, can be nil.
angularBBox
@property (nonatomic, readonly, nonnull) |
The angularBBox field sets how the tile tilelevels oriented in space. Direction + span will be limited between top and bottom The recommendation for initializing angular bbox: (right - left) == 360. Non 360 degrees panoramas are not supported yet. (top - bottom) <= 180 The angular aspect ratio must be the same as any tileLevel aspect ratio. (right - left)/(top - bottom) == tileLevel[i].width/tileLevel[i].height
tileSize
@property (nonatomic, readonly, nonnull) MMKPanoramaImageSize *tileSize; |
Any tile level imageSize width must be multiple of the tileSize width. Only 256x256 and 512x512 tiles are supported.
tileLevels
@property (nonatomic, readonly, nonnull) |
The tileLevels is a set of the TileLevel structs. Tile levels can be added in any order. It's recommended to have at least 2 tile levels: - low quality zoom. For example 512x200 - high quality zoom. For axample 20480x8000
It can be useful to have several tile levels for huge images to save network traffic and reduce memory and power consumption. So the final tile levels list may look like that: level, width, height 0, 512, 200 1, 2048, 800 2, 5120, 2000 6, 10240, 4000 9, 20480, 8000
Player takes into account the view area size and available tile levels and downloads the most suitable level.
The tileLevels[i] aspect ratio must be the same. At first low quality zoom is loaded. Once it's done, the panorama player notifies that the panorama is opened and starts loading high quality zoom tiles.
iconMarkers
@property (nonatomic, readonly, nonnull) |
Add marker icons to the panorama
textMarkers
@property (nonatomic, readonly, nonnull) |
Add marker text to the panorama
companyMarkers
@property (nonatomic, readonly, nonnull) |
Add company icons and labels to the panorama
iconConnections
@property (nonatomic, readonly, nonnull) |
Add icons with interaction
arrowConnections
@property (nonatomic, readonly, nonnull) |
Add standard player arrow connections
direction
@property (nonatomic, readonly, nonnull) MMKDirection *direction; |
Suggest where to look at once panorama is opened. It's just a recommendation because it depends on angularBBox and span.
span
@property (nonatomic, readonly, nonnull) MMKSpan *span; |
Suggest view area span. It's just a recommendation because it depends on angularBBox and direction.
attribution
@property (nonatomic, readonly, nullable) MMKAttribution *attribution; |
Panorama author information.
Optional field, can be nil.