You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

json-config-parameters.md 14 KiB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473
  1. # JSON Configuration File Options
  2. ## General options
  3. ### `type` (string)
  4. This specifies the panorama type. Can be `equirectangular`, `cubemap`, or
  5. `multires`. Defaults to `equirectangular`.
  6. ### `title` (string)
  7. If set, the value is displayed as the panorama's title. If no title is desired,
  8. don't set this parameter.
  9. ### `author` (string)
  10. If set, the value is displayed as the panorama's author. If no author is
  11. desired, don't set this parameter.
  12. ### `authorURL` (string)
  13. If set, the displayed author text is hyperlinked to this URL. If no author URL
  14. is desired, don't set this parameter. The `author` parameter must also be set
  15. for this parameter to have an effect.
  16. ### `strings` (dictionary)
  17. Allows user-facing strings to be changed / translated.
  18. See `defaultConfig.strings` definition in `pannellum.js` for more details.
  19. ### `basePath` (string)
  20. This specifies a base path to load the images from.
  21. ### `autoLoad` (boolean)
  22. When set to `true`, the panorama will automatically load. When `false`, the
  23. user needs to click on the load button to load the panorama. Defaults to
  24. `false`.
  25. ### `autoRotate` (number)
  26. Setting this parameter causes the panorama to automatically rotate when loaded.
  27. The value specifies the rotation speed in degrees per second. Positive is
  28. counter-clockwise, and negative is clockwise.
  29. ### `autoRotateInactivityDelay` (number)
  30. Sets the delay, in milliseconds, to start automatically rotating the panorama
  31. after user activity ceases. This parameter only has an effect if the
  32. `autoRotate` parameter is set. Before starting rotation, the viewer is panned
  33. to the initial pitch.
  34. ### `autoRotateStopDelay` (number)
  35. Sets the delay, in milliseconds, to stop automatically rotating the panorama
  36. after it is loaded. This parameter only has an effect if the `autoRotate`
  37. parameter is set.
  38. ### `fallback` (string)
  39. If set, the value is used as a URL for a fallback viewer in case Pannellum is
  40. not supported by the user's device. The user will be given the option to click
  41. a link and visit this URL if Pannellum fails to work.
  42. ### `orientationOnByDefault` (boolean)
  43. If set to `true`, device orientation control will be used when the panorama is
  44. loaded, if the device supports it. If false, device orientation control needs
  45. to be activated by pressing a button. Defaults to `false`.
  46. ### `showZoomCtrl` (boolean)
  47. If set to `false`, the zoom controls will not be displayed. Defaults to `true`.
  48. ### `keyboardZoom` (boolean)
  49. If set to `false`, zooming with keyboard will be disabled. Defaults to `true`.
  50. ### `mouseZoom` (boolean or string)
  51. If set to `false`, zooming with mouse wheel will be disabled. Defaults to `true`.
  52. Can also be set to `fullscreenonly`, in which case it is only enabled when the
  53. viewer is fullscreen.
  54. ### `draggable` (boolean)
  55. If set to `false`, mouse and touch dragging is disabled. Defaults to `true`.
  56. ### `friction` (number)
  57. Controls the "friction" that slows down the viewer motion after it is dragged
  58. and released. Higher values mean the motion stops faster. Should be set
  59. (0.0, 1.0]; defaults to 0.15.
  60. ### `disableKeyboardCtrl` (boolean)
  61. If set to `true`, keyboard controls are disabled. Defaults to `false`.
  62. ### `showFullscreenCtrl` (boolean)
  63. If set to `false`, the fullscreen control will not be displayed. Defaults to
  64. `true`. The fullscreen button will only be displayed if the browser supports
  65. the fullscreen API.
  66. ### `showControls` (boolean)
  67. If set to `false`, no controls are displayed. Defaults to `true`.
  68. ### `touchPanSpeedCoeffFactor` (number)
  69. Adjusts panning speed from touch inputs. Defaults to `1`.
  70. ### `yaw` (number)
  71. Sets the panorama's starting yaw position in degrees. Defaults to `0`.
  72. ### `pitch` (number)
  73. Sets the panorama's starting pitch position in degrees. Defaults to `0`.
  74. ### `hfov` (number)
  75. Sets the panorama's starting horizontal field of view in degrees. Defaults to
  76. `100`.
  77. ### `minYaw` and `maxYaw` (number)
  78. Sets the minimum / maximum yaw the viewer edge can be at, in degrees.
  79. Defaults to `-180` / `180`, i.e. no limit.
  80. ### `minPitch` and `maxPitch` (number)
  81. Sets the minimum / maximum pitch the viewer edge can be at, in degrees.
  82. Defaults to `undefined`, so the viewer center can reach `-90` / `90`.
  83. ### `minHfov` and `maxHfov` (number)
  84. Sets the minimum / maximum horizontal field of view, in degrees, that the
  85. viewer can be set to. Defaults to `50` / `120`. Unless the `multiResMinHfov`
  86. parameter is set to `true`, the `minHfov` parameter is ignored for
  87. `multires` panoramas.
  88. ### `multiResMinHfov` (boolean)
  89. When set to `false`, the `minHfov` parameter is ignored for `multires`
  90. panoramas; an automatically calculated minimum horizontal field of view is used
  91. instead. Defaults to `false`.
  92. ### `compass` (boolean)
  93. If `true`, a compass is displayed. Normally defaults to `false`; defaults to
  94. `true` if heading information is present in Photo Sphere XMP metadata.
  95. ### `northOffset` (number)
  96. Set the offset, in degrees, of the center of the panorama from North. As this
  97. affects the compass, it only has an effect if `compass` is set to `true`.
  98. ### `preview` (string)
  99. Specifies a URL for a preview image to display before the panorama is loaded.
  100. ### `previewTitle` (string)
  101. Specifies the title to be displayed while the load button is displayed.
  102. ### `previewAuthor` (string)
  103. Specifies the author to be displayed while the load button is displayed.
  104. ### `horizonPitch` and `horizonRoll` (number)
  105. Specifies pitch / roll of image horizon, in degrees (for correcting
  106. non-leveled panoramas).
  107. ### `animationTimingFunction` (function) [API only]
  108. This specifies a timing function to be used for animating movements such as
  109. when the `lookAt` method is called. The default timing function is
  110. `easeInOutQuad`. If a custom function is specified, it should take a number
  111. [0, 1] as its only argument and return a number [0, 1].
  112. ### `escapeHTML` (boolean)
  113. When true, HTML is escaped from configuration strings to help mitigate possible
  114. DOM XSS attacks. This is always `true` when using the standalone viewer since
  115. the configuration is provided via the URL; it defaults to `false` but can be
  116. set to `true` when using the API.
  117. ### `crossOrigin` (string)
  118. This specifies the type of CORS request used and can be set to either
  119. `anonymous` or `use-credentials`. Defaults to `anonymous`.
  120. ### `hotSpots` (object)
  121. This specifies a dictionary of hot spots that can be links to other scenes,
  122. information, or external links. Each array element has the following properties.
  123. #### `pitch` (number)
  124. Specifies the pitch portion of the hot spot's location, in degrees.
  125. #### `yaw` (number)
  126. Specifies the yaw portion of the hot spot's location, in degrees.
  127. #### `type` (string)
  128. Specifies the type of the hot spot. Can be `scene` for scene links or `info`
  129. for information hot spots. A tour configuration file is required for `scene`
  130. hot spots.
  131. #### `text` (string)
  132. This specifies the text that is displayed when the user hovers over the hot
  133. spot.
  134. #### `URL` (string)
  135. If specified for an `info` hot spot, the hot spot links to the specified URL.
  136. Not applicable for `scene` hot spots.
  137. #### `attributes` (dict)
  138. Specifies URL's link attributes. If not set, the `target` attribute is set to
  139. `_blank`, to open link in new tab to avoid opening in viewer frame / page.
  140. #### `sceneId` (string)
  141. Specifies the ID of the scene to link to for `scene` hot spots. Not applicable
  142. for `info` hot spots.
  143. #### `targetPitch` (number)
  144. Specifies the pitch of the target scene, in degrees. Can also be set to `same`,
  145. which uses the current pitch of the current scene as the initial pitch of the
  146. target scene.
  147. #### `targetYaw` (number)
  148. Specifies the yaw of the target scene, in degrees. Can also be set to `same` or
  149. `sameAzimuth`. These settings use the current yaw of the current scene as the
  150. initial yaw of the target scene; `same` uses the current yaw directly, while
  151. `sameAzimuth` takes into account the `northOffset` values of both scenes to
  152. maintain the same direction with regard to north.
  153. #### `targetHfov` (number)
  154. Specifies the HFOV of the target scene, in degrees. Can also be set to `same`,
  155. which uses the current HFOV of the current scene as the initial HFOV of the
  156. target scene.
  157. #### `id`
  158. Specifies hot spot ID, for use with API's `removeHotSpot` function.
  159. #### `cssClass` (string)
  160. If specified, string is used as the CSS class for the hot spot instead of the
  161. default CSS classes.
  162. #### `createTooltipFunc` (function) and `createTooltipArgs` (object)
  163. If `createTooltipFunc` is specified, this function is used to create the hot
  164. spot tooltip DOM instead of the default function. The contents of
  165. `createTooltipArgs` are passed to the function as arguments.
  166. #### `clickHandlerFunc` (function) and `clickHandlerArgs` (object)
  167. If `clickHandlerFunc` is specified, this function is added as an event handler
  168. for the hot spot's `click` event. The event object and the contents of
  169. `clickHandlerArgs` are passed to the function as arguments.
  170. ### `hotSpotDebug` (boolean)
  171. When `true`, the mouse pointer's pitch and yaw are logged to the console when
  172. the mouse button is clicked. Defaults to `false`.
  173. ### `sceneFadeDuration` (number)
  174. Specifies the fade duration, in milliseconds, when transitioning between
  175. scenes. Not defined by default. Only applicable for tours. Only works with
  176. WebGL renderer.
  177. ### `capturedKeyNumbers` (array)
  178. Specifies the key numbers that are captured in key events. Defaults to the
  179. standard keys that are used by the viewer.
  180. ### `backgroundColor` ([number, number, number])
  181. Specifies an array containing RGB values [0, 1] that sets the background color
  182. for areas where no image data is available. Defaults to `[0, 0, 0]` (black).
  183. For partial `equirectangular` panoramas this applies to areas past the edges of
  184. the defined rectangle. For `multires` and `cubemap` (including fallback) panoramas
  185. this applies to areas corresponding to missing tiles or faces.
  186. ### `avoidShowingBackground` (boolean)
  187. If set to `true`, prevent displaying out-of-range areas of a partial panorama
  188. by constraining the yaw and the field-of-view. Even at the corners and edges
  189. of the canvas only areas actually belonging to the image
  190. (i.e., within [`minYaw`, `maxYaw`] and [`minPitch`, `maxPitch`]) are shown,
  191. thus setting the `backgroundColor` option is not needed if this option is set.
  192. Defaults to `false`.
  193. ## `equirectangular` specific options
  194. ### `panorama` (string)
  195. Sets the URL to the equirectangular panorama image. This is relative to
  196. `basePath` if it is set, else it is relative to the location of
  197. `pannellum.htm`. An absolute URL can also be used.
  198. ### `haov` (number)
  199. Sets the panorama's horizontal angle of view, in degrees. Defaults to `360`.
  200. This is used if the equirectangular image does not cover a full 360 degrees in
  201. the horizontal.
  202. ### `vaov` (number)
  203. Sets the panorama's vertical angle of view, in degrees. Defaults to `180`. This
  204. is used if the equirectangular image does not cover a full 180 degrees in the
  205. vertical.
  206. ### `vOffset` (number)
  207. Sets the vertical offset of the center of the equirectangular image from the
  208. horizon, in degrees. Defaults to `0`. This is used if `vaov` is less than `180`
  209. and the equirectangular image is not cropped symmetrically.
  210. ### `ignoreGPanoXMP` (boolean)
  211. If set to `true`, any embedded Photo Sphere XMP data will be ignored; else,
  212. said data will override any existing settings. Defaults to `false`.
  213. ## `cubemap` specific options
  214. ### `cubeMap`
  215. This is an array of URLs for the six cube faces in the order front, right,
  216. back, left, up, down. These are relative to `basePath` if it is set, else they
  217. are relative to the location of `pannellum.htm`. Absolute URLs can also be
  218. used. Partial cubemap images may be specified by giving `null` instead of a URL.
  219. ## `multires` specific options
  220. ### `multiRes`
  221. This contains information about the multiresolution panorama in sub-keys.
  222. #### `basePath` (string)
  223. This is the base path of the URLs for the multiresolution tiles. It is relative
  224. to the regular `basePath` option if it is defined, else it is relative to the
  225. location of `pannellum.htm`. An absolute URL can also be used.
  226. #### `path` (string)
  227. This is a format string for the location of the multiresolution tiles, relative
  228. to `multiRes.basePath`, which is relative to `basePath`. Format parameters are
  229. `%l` for the zoom level, `%s` for the cube face, `%x` for the x index, and
  230. `%y` for the y index. For each tile, `.extension` is appended.
  231. #### `fallbackPath` (string)
  232. This is a format string for the location of the fallback tiles for the CSS 3D
  233. transform-based renderer if the WebGL renderer is not supported, relative
  234. to `multiRes.basePath`, which is relative to `basePath`. The only format
  235. parameter is `%s`, for the cube face. For each face, `.extension` is appended.
  236. #### `extension` (string)
  237. Specifies the tiles' file extension. Do not include the `.`.
  238. #### `tileResolution` (number)
  239. This specifies the size in pixels of each image tile.
  240. #### `maxLevel` (number)
  241. This specifies the maximum zoom level.
  242. #### `cubeResolution` (number)
  243. This specifies the size in pixels of the full resolution cube faces the image
  244. tiles were created from.
  245. ## Dynamic content specific options
  246. Currently, only equirectangular dynamic content is supported.
  247. ### `dynamic` (boolean)
  248. The panorama source is considered dynamic when this is set to `true`. Defaults
  249. to `false`. This should be set to `true` for video.
  250. ### `dynamicUpdate` (boolean)
  251. For dynamic content, viewer will start automatically updating when set to
  252. `true`. Defaults to `false`. If the updates are controlled via the `setUpdate`
  253. method, as with the Video.js plugin, this should be set to `false`.
  254. ## Additional information for tour configuration files
  255. A tour configuration file contains two top level properties, `default` and
  256. `scenes`. The `default` property contains options that are used for each scene,
  257. but options specified for individual scenes override these options. The
  258. `default` property is required to have a `firstScene` property that contains
  259. the scene ID for the first scene to be displayed. The `scenes` property
  260. contains a dictionary of scenes, specified by scene IDs. The values assigned to
  261. these IDs are specific to each scene.