MMKPanoramaDescription
Warning
This feature is available in the Full MapKit SDK version
|
class MMKPanoramaDescription : NSObject |
Summary
Class methods
|
 init(panoramaId: String, |
Properties
|
var panoramaId: String { get } |
|
var position: MMKPanoramaPosition? { get } |
|
var angularBBox: MMKPanoramaAngularBoundingBox { get } |
|
var tileSize: MMKPanoramaImageSize { get } |
|
var tileLevels: [MMKPanoramaTileLevel] { get } |
|
var iconMarkers: [MMKPanoramaIconMarker] { get } |
|
var textMarkers: [MMKPanoramaTextMarker] { get } |
|
var companyMarkers: [MMKPanoramaCompanyMarker] { get } |
|
var iconConnections: [MMKPanoramaIconConnection] { get } |
|
var arrowConnections: [MMKPanoramaArrowConnection] { get } |
|
var direction: MMKDirection { get } |
|
var attribution: MMKAttribution? { get } |
Class methods
init(panoramaId:position:angularBBox:tileSize:tileLevels:iconMarkers:textMarkers:companyMarkers:iconConnections:arrowConnections:direction:span:attribution:)
|
 init(panoramaId: String, |
Properties
panoramaId
|
var panoramaId: String { get } |
panoramaId is passed as a parameter to the TileImageFactory or to the TileUrlProvider
position
|
var position: MMKPanoramaPosition? { get } |
Geo position.
Optional field, can be nil.
angularBBox
|
var angularBBox: MMKPanoramaAngularBoundingBox { get } |
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
|
var tileSize: MMKPanoramaImageSize { get } |
Any tile level imageSize width must be multiple of the tileSize width. Only 256x256 and 512x512 tiles are supported.
tileLevels
|
var tileLevels: [MMKPanoramaTileLevel] { get } |
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
|
var iconMarkers: [MMKPanoramaIconMarker] { get } |
Add marker icons to the panorama
textMarkers
|
var textMarkers: [MMKPanoramaTextMarker] { get } |
Add marker text to the panorama
companyMarkers
|
var companyMarkers: [MMKPanoramaCompanyMarker] { get } |
Add company icons and labels to the panorama
iconConnections
|
var iconConnections: [MMKPanoramaIconConnection] { get } |
Add icons with interaction
arrowConnections
|
var arrowConnections: [MMKPanoramaArrowConnection] { get } |
Add standard player arrow connections
direction
|
var direction: MMKDirection { get } |
Suggest where to look at once panorama is opened. It's just a recommendation because it depends on angularBBox and span.
span
|
var span: MMKSpan { get } |
Suggest view area span. It's just a recommendation because it depends on angularBBox and direction.
attribution
|
var attribution: MMKAttribution? { get } |
Panorama author information.
Optional field, can be nil.