API Documentation

Version: 24.14.0

Getting started

Below is a small example to get you started. You need a (local) webserver to get the html to work. For a more in depth example, go to: https://www.cyclomedia.com/en/code-examples

Example
<script type="text/javascript" src="https://unpkg.com/react@18.2.0/umd/react.production.min.js"></script>
<script type="text/javascript" src="https://unpkg.com/react-dom@18.2.0/umd/react-dom.production.min.js"></script>
<script type="text/javascript" src="https://cdn.jsdelivr.net/gh/openlayers/openlayers.github.io@main/dist/en/v6.12.0/build/ol.js"></script>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.21/lodash.min.js"></script>
<script type="text/javascript" src="https://streetsmart.cyclomedia.com/api/v24.9/StreetSmartApi.js" ></script>
<script>
   // Here you can now call StreetSmartApi.init(), StreetSmartApi.open(),
   // or use event contents like this: StreetSmartApi.Events.panoramaViewer.RECORDING_LOADED
</script>

Changelog

Street Smart - Version 24.14.0

Bugs

  • Fixed bug that was showing wrong measurement error message in oblique viewer

Street Smart - Version 24.13.0

Story

  • Added supported for domain value names for ESRI layers

Bugs

  • Fixed UI bug that was adding extra margin when hove over copyright Cyclomedia text

Street Smart - Version 24.12.0

Story

  • Implemented dragging CrossSection points for the perpendicular mode

Bugs

  • Fixed a bug that was preventing VIEWER_REMOVED event to be triggered
  • Fixed a bug where CrossSection points where still visible after clicking in another layer

Street Smart - Version 24.11.0

Story

  • We now support WFS 2.0.0
  • CrossSection points can be dragged to change position
  • Address Labels layer added for Belgium configuration

Bugs

  • Fixed toggle compass button
  • Fixed an issue where some ImageId's could not be opened through an API call
  • Fixed a bug that wrongly changed the color of a height measurement
  • Fixed a bug where some buttons were not visible/functional After a UI update

Street Smart - Version 24.10.0

Story

  • Added the possibility to update overlays via the API

Bugs

  • Fixed a bug where the API was not destroyed cleanly
  • Fixed a bug which closed all viewers rather than just the one that was supposed to be closed
  • Fixed a measurements bug in the Pointcloud viewer which happened in some specific SRS

Street Smart - Version 24.9.0

Story

  • Updated React 18 deprecated code:
  • Replaced ReactDOM.render with createRoot function on API rendering
  • Updated context API to replace childContextTypes with new React context implementation
  • Updated code that was using ReactDOM.findDOMNode to use useReference

Street Smart - Version 24.8.0

Bugs

  • Fixed the positioning of the arrows in the CrossSection graph

Street Smart - Version 24.7.0

Story

  • Change the measurement messages to be displayed together inside measurement panel

Bugs

  • Fixed bug that was preventing measurement units to change inside CrossSection panel
  • Fixed bug that was distorting graph inside CrossSection panel

Street Smart - Version 24.6.0

Story

  • Buttons in the bottom bar of viewers got new icons and text
  • New button added to the viewers: An eye icon in the top right of the viewers, once clicked, it will display a list of UI elements and features that can be toggled on and off in the viewer
  • Image information button moved to the top left of the viewers
  • Toggle navigation button removed from the bottom bar of the viewers. But it's still possible to toggle on/off in the Toggle UI Panorama menu
  • New features in the panorama CrossSection: add perpendicular measurement and button to swap values between angle and percentage
  • Change name of a button: from 3DNL to 3D

Bugs

  • Fixed the display of X and Y values in the CrossSection panel that sometimes got overlapped by the panel borders
  • Fixed the translation of oblique button for Dutch language

Street Smart - Version 24.5.0

Story

  • Deprecated the 'options.configurationUrl' parameter of the 'StreetSmartApi.init(options)' method. This parameter is no longer recommended for use and will be removed in a future release

Street Smart - Version 24.4.0

No changes

Street Smart - Version 24.3.0

Story Added spacing in the text values in the measurement panel Make the WFS recording functions available in the API

Street Smart - Version 24.2.0

Story Added feature to autofill username input when log in via OAuth Improved initial pitch value when opening panorama viewer Changed delta-x and delta-y labels to width and height in the CrossSection panel

Bugs Fixed a bug that was making API crashes after clicking on destroy button Fixed a problem where some field where not being display in the information panel

Street Smart - Version 24.1.3

Bugs Fixed a problem where height measurement was not changing color properly Corrected text in the tooltips when in the measurement mode

Street Smart - Version 24.1.0

Story Improved the way TimeTravel fetch recordings Add improvements to selecting points during CrossSection

Bugs Fixed a bug that was making CrossSection panel display measurements mirrored Fixed a problem where CrossSection was not update the measurement units from meters to feet

Technical Story Upgrade NodeJS from Version 16 to 20

Street Smart - Version 23.15.0

Bugs Removed amplitude code that was wrongly add to API in a previous release

Technical Story Cleanup old Crowd Smart related code Update cuid to @paralleldrive/cuid2 for Enhanced Security

Street Smart - Version 23.14.0

Bugs Fixed a bug in the CrossSection of 3D viewer where a double click was causing the viewer to crash Fixed a problem where elevation panel was closing after changing records Removed not used WFS requests

Technical Story Replace 'lodash' with 'lodash-es' for Improved Efficiency and Tree-shaking Support

Street Smart - Version 23.13.0

Story Measurement feedback messages were updated Improved 3D mesh viewer map measurement based on ground level Added loading indicator while loading 3D data

Bugs Prevent elevation panel to change recordings after user click in the 'up' key Fixed a bug on elevation panel that was not calculating the decimals properly Fixed a problem where attribute info was not being show from some layers Fixed a bug where measurements and elevation panel where breaking each other if one is triggered after another

Technical Story Replace deprecated execCommand('copy') for clipboard API Packages updated: chartjs-plugin-zoom, papaparse, react-autosuggest, react-chartjs-2 and xml2js

Street Smart - Version 23.12.0

Technical Story Remove legacy polyfills and unused libraries: whatwg-fetch, blueimp-canvas-to-blob, pepjs, @babel/polyfill, resize-observer-polyfill

Street Smart - Version 23.11.0

Story Add feature to measure CrossSection

Bugs Fix a bug that was making TIDToken not working in the API

Street Smart - Version 23.10.0

Story Added depth tiles to SH recordings

Bugs Fixed problem with wrong call to userProfile in the API Fixed a bug that was preventing API to display point cloud Fixed a problem with projections for different overlays

Street Smart - Version 23.9.0

Technical Story React updated to version 18

Story 3D data pipeline updated Update LiDAR/Point cloud download service

Bugs Fixed a bug that was preventing some users to log in to the API Fixed a bug in measurements after updating React 18 Fixed a problem that was opening object information panel while measuring

Street Smart - Version 23.8.0

Bugs Fixed a bug that was not properly resting selected cyclorama during measurement Fixed problem with the Line of Sight feature of the 3D viewer

Street Smart - Version 23.7.0

Story

  • Thumbnail added to the time travel component

Bugs

  • Fixed problem where StreetHive recordings where not be able to be selected in time travel
  • Changing from DCR recording to backpack problem fixed

Street Smart - Version 23.6

Story

  • Change redirect URL
  • 3rd party data integration

Street Smart - Version 23.3

Story

  • Changed color of documentation

Bug

  • Version tooltip was missing

Street Smart - Version 23.2

Bug

  • Oblique save image fixed

Street Smart - Version 23.1

Story

  • Client Id passed for logging in with OAuth
  • Remove check for 3D viewer
  • Changed configuration endpoint

Street Smart - Version 22.19

Story

  • Added interface function for snapping

Street Smart - Version 22.17

Story

  • Added a save measurement button

Street Smart - Version 22.16

Story

  • New version of the Pointcloud viewer

Street Smart - Version 22.15

Story

  • The 3D (Mesh) viewer can now be used in the API. (oauth login only) For an example, please check at the end of the open function documentation.

Street Smart - Version 22.13

Bug

  • fonts not downloading from Street Smart website when using API on custom location

Street Smart - Version 22.12

Story

  • Link sign is visible in single cyclorama
  • Align navigation bar icon colors with viewer color
  • Change date/time notation

Bug

  • Styling elevation slider

Street Smart - Version 22.11

Story

  • Increase Elevation Slider reach to 25 meters

Bug

  • Elevation slider not using proper feet/meter conversion

Street Smart - Version 22.10

Story

  • API: Oauth with popup + user login

Bug

  • API: Fix production build error

Street Smart - Version 22.9

Bug

  • Wrong ol.js in api template

Story

  • Remove zoom buttons from all viewers

Street Smart - Version 22.7

Bug

  • Remove Unity Error in API integrations

Street Smart - Version 22.5

Bug

  • API: Tooltip position hovering on a recording dot

Street Smart - Version 22.3

Story

  • Remove Google fonts

Street Smart - Version 22.1

Story

  • New address search service for countries outside the Netherlands

Street Smart - Version 21.12

Bug

  • API: panorama viewer crashes when open a panorama viewer in the api

Street Smart - Version 21.10

Story

  • API: New PointCloud viewer, which can be called with options argument { viewerType: ['@@ViewerType/POINTCLOUD'] }
  • API: PointCloud Linked Panorama, which can be set with function toggleLinkedViewers (i.e. window.panoramaViewer[0].toggleLinkedViewers()).
  • Implemented DCR9+ Tileschema

Street Smart - Version 21.9

Story

  • API: added the functionality of compass, which can be set with function toggleCompass (i.e. window.panoramaViewer[0].toggleCompass() or window.obliqueViewer.toggleCompass().

Street Smart - Version 21.3

Story

  • API: added the function to set an elevationLevel in the panorama viewer

Street Smart - Version 20.12

Story

  • API: added pointcloud viewer documentation
  • API: added aerial pointcloud toggle

Street Smart - Version 20.1

Story

  • API: added pointcloud viewer to api
  • API: added pointcloud viewer navigation functions
  • API: added pointcloud viewer specific functions

Street Smart - Version 19.19

Story

  • API: added measureMethod to startMeasurement

Street Smart - Version 19.18

Story

  • API: Unit preference setting

Street Smart - Version 19.17

Bug

  • Older oblique image not loaded on panning
  • Symbol sizes in feet systems
  • Flex direction for dashboard panel

Story

  • Update error message
  • API: panorama toggle sidebar expanded error
  • Improve feedback for buttons
  • API: disable pointcloud viewer

Street Smart - Version 19.16

Bug

  • API: cant select redlining features
  • Nested "And" filters in sld are not working
  • Ownership of loading process
  • Point measurements not shown in oblique
  • API: Non Street Smart point measurement + Forward Intersection
  • New navigation with historic cyclorama's
  • API: Oblique viewer crashes when a WFS layer is added.
  • Panorama arrow key navagation
  • API: panorama save image wrong width/height
  • API: geojson polygon measurement in api
  • Brightness and Contrast not on measurements

Story

  • Implement new slope stdev calculations + new correlation function
  • Separate focus styling from hover/active

Street Smart - Version 19.15

Bug

  • API: Close measurement by cross leads to exception in console log
  • API: The cyclorama can be closed during the measurement
  • API: Close measurement leads to an undefined removed viewer event
  • Proper SRS' are not always loaded when needed
  • Intersection calcualtions fail if recordedAt is not a date
  • The lines of measurements are much too thick
  • Correct equations for calculation of standard deviations of polygon measurements
  • Small update of the standard deviation line calculations (change correlation parameters)

Story

  • Support Line width PanoramaViewer
  • Add pointcloud viewer
  • Add pointcloud interface functions
  • Improve layer styling in wizard
  • Improve sizing of points/labels/symbols
  • Label size Panoramaviewer
  • Update npm openlayers to npm ol

Street Smart - Version 19.14

Bug

  • SLD size in panorama works weird<
  • Perfect Polygon does not draw in API
  • API: PropertyIsNull filter not working in Cyclorama
  • Styling issue with polygon fill
  • Webapp crashes in us give german error
  • Fix crash forward intersection with polygons

Story

  • Keyboard shortcuts
  • Add extra panorama window color
  • Remove Reactcss from project
  • Remove / reduce usate of IntlComponents
  • Update to latest pep.js / remove forked pep.js
  • Standard deviation measurements

Street Smart - Version 19.13

Story

  • Copy ground coordinates from cyclorama
  • Show slope angle also with more than 45
  • Remove link for full image when image is new tiling

Street Smart - Version 19.12

Bug

  • Remove adress layer from non-NL configs
  • 'Kadastrale kaart' not shown in oblique viewer
  • Brightness and contrast no longer work in oblique
  • Improve readability of measurement information popups
  • Some 3D polygons not visible in panoramaviewer

Story

  • Transparency slider on oblique
  • View radius
  • Rotating cyclorama by dragging viewing cone in oblique window
  • Show a north arrow for the images
  • Keep bright and contrast setting when opening another cyclorama
  • DCR10 new Tiling Smart Click fix
  • Implement React error bounds

Street Smart - Version 19.11

Bug

  • Clicking non-lidar recording
  • Pip images broken in panoramaviewer
  • Viewing cone not visible
  • Oblique measurement crashes when skipping the last observation

Story

  • API: start oblique measurement

Street Smart - Version 19.10

Bug

  • ObliqueHeight: height of WFS layer in oblique doesn't work
  • ObliqueHeight: viewing cone doesn't work well (only one direction is working)
  • Line does not look accurate in Cycloramaviewer
  • Missing tooltip
  • Surface cursor position not properly updated
  • Layers are not showing in layer manager

Story

  • Source image download
  • Measurement panel collapse
  • Make measurement properties panel collapsible
  • Show total length of the line in the Cyclorama
  • Show the area of a polygon in the cyclorama
  • Measurement panel collapse

Street Smart - Version 19.9

Story

  • Moving the measurement panel to the right side of the Cyclorama/Oblique
  • Combine measurement list with measurement panel
  • API - zoom window button turned off by default.

Street Smart - Version 19.8

Bug

  • Measurement only appears after moving the mouse

Story

  • Improve hitbox for addresslabels and other 2DText
  • Rework loading indicator

Street Smart - Version 19.7

Bug

  • Forward intersection: a click on a recording point leads to the addition of an observation point
  • IE: oblique rotate buttons dont work
  • API: toggleRecordingsVisibility is broken

Story

  • API: Add an interface function to deselect a feature in a layer

Street Smart - Version 19.6

Bug

  • API: viewer is not properly cleaned on destroy
  • Forward intersection + insert between
  • Oblique turn left button doesn't work.
  • toggleAddressesVisible fails
  • API: open 2 images, start measurement, close measurement, some functionality 2nd image doesn't work
  • Fix SetState warnings
  • Can't add observation to smart click measurement.

Story

  • Add WFS overlay option to API
  • "Merge" recordingslayer and historical recordings layer
  • One single Cyclorama layer
  • Change fillColor opacity for polygon measurements
  • Improve forward intersection measurement calculations
  • addLayer reducer throwing warnings

Street Smart - Version 19.5

Bug

  • Standard deviation is lower than recording with point measurement
  • API: Measuring in degree systems should not be possible
  • Switching measurement type crashes Street Smart
  • Black square for text lables

Story

  • Add WFS option on API-SLD-string with WFS-url
  • Three.js replace point geometry with sprite
  • Address number click leads to panorama update
  • Oblique - feature zoomLvl
  • Default collapsed/expanded MeasurementInformationPanel

Street Smart - Version 19.4

Bug

  • API: after start-stop measurement, and two panoramic images are open, no events are fired from one of the images
  • GeoJSON positioning in Oblique improved
  • Color of lines in panorama defaults to white sometimes
  • Fixed Css scoped outside of cmt

Story

  • API: click-info not collapsable
  • SLD: Expands external Graphic so that it is also possible to provide inline Content. (base64 string)
  • Adjusted default measurement name

Street Smart - Version 19.3

Bug

  • Click on point features in panorama is not working
  • Custom layer styling for lines
  • TypeError when toggling overlay in Oblique

Story

  • Add WFS option on API-WFS-SLD-string styling
  • API: Add address layer
  • API: addOverlay function, Make it possible to also give a color to the layer

Street Smart - Version 19.2

Bug

  • Decimal notation depending on language
  • Textsymbolizer is not shown using SLD with SHP
  • API: cant select redlining features
  • Attribute window width for very long values

Street Smart - Version 19.1

Bug

  • Panoramaviewer tooptip doesn't disapear
  • Remove surfacecursor on mouseOut
  • object information not correct with SHP overlay in cyclorama
  • Height measurement, remove insert above button
  • No oblique found form panorama
  • double click zoom bug
  • removeOverlay fails on oblique viewer
  • Precision values change when adding point to line measurement
  • Textlabels are not visible in the panorama viewer
  • Safari Mac PanoramaViewer dragging (viewing) not working

Story

  • Use Properties in CSSParameters in sld
  • keep green color with height measurement
  • API: Remove text: "No Windows Present"

Street Smart - Version 18.15.1

Bug

  • API: rerender on parent div resize

Street Smart - Version 18.15

Bug

  • navigateToUrl on line features
  • Api: Measurement panel falls outside api window
  • Measurement modal resize observer

Story

  • API: Add SLD filter rule PropertyIsNull
  • API: Responsive measurement selection
  • API: update french language file

Street Smart - Version 18.14

Bug

  • Zoom by mouse click problem on measurements
  • First observation line not visible Forward Intersection
  • Report blurring for France
  • Missing language string MeasurementInformationPanel

Story

  • Create measurement from WFS-geometry
  • Download image

Street Smart - Version 18.13.1

Bug

  • Window navigation bar gone when in measurementmode

Street Smart - Version 18.13

Bug

  • Incorrect height in measurement US-feet
  • getApiReadyState() returned incorrect value

Story

  • Mosaic: ability to drag and resize windows

Breaking changes

Version 24.14

  • Upgrade bluebird from 1.2.9 to 1.3.0

Version 24.11

  • Upgrade ThreeJS from 113.2 to 167.1

Version 24.10

  • Upgrade NodeJS from Version 16 to 20

Version 23.9

  • Updated to React 18.2.0

Version 22.15

  • Lodash is no longer built into the Street Smart API. So you should be aware that the integration now imports lodash properly

Version 22.10

  • can be used with an iframe
  • Added OAuth, request adding origin domain to be authorised to use OAuth

Version 22.9

  • not usable within an iframe
  • Webpack upgrade

Version 21.10

  • DCR9+ TileSchema
  • New PointCloud Viewer
  • Because of above, historical cycloramas (images shot before 2021) are not displayed correctly.

Version 19.19

  • Updated to React 16.12.0
  • Please update your versions of React and React-DOM to version 16.12.0. Reason is that we also want to be prepared for React 17 next year.

Version 18.10

  • Updated to React 16.4.1
  • Please update your versions of React and React-DOM to version 16.4.1. Reason is that we also want to be prepared for React 17 next year.

Version 18.4

  • The StreetSmartApi.open function takes a different options object, from now it can contain: panoramaviewer options and obliqueviewer options
  • Previously accepted options.closable, options.maximizable and options.replace can be provided per viewer options

Version 17.3

  • Removed previously deprecated functions addPanoramaViewer and destroyPanoramaViewer. Please use StreetSmartApi.open.
  • addOverlay function distinct parameters changed to a single options object.
Example

new options object

const query = 'Van Voordenpark 1, Zaltbommel';

const options = {
     viewerType: [StreetSmartApi.ViewerType.PANORAMA, StreetSmartApi.ViewerType.OBLIQUE],
     srs: 'EPSG:28992',
     panoramaViewer: {
         closable: true,
         maximizable: true,
         replace: true,
         recordingsVisible: true,
         navbarVisible: true,
         timeTravelVisible : true,
         measureTypeButtonVisible: true,
         measureTypeButtonStart: true,
         measureTypeButtonToggle: true,
     },
     obliqueViewer: {
         closable: true,
         maximizable: true,
         navbarVisible: true,
         timeTravelVisible : true,
     }
};

// Open
StreetSmartApi.open(query, options).then( successCallback, errorCallback);

API newsletter

to stay tuned on important API updates, subscribe to our newsletter via https://www.cyclomedia.com/en/street-smart-api-newsletter

OAuth integration in the API

This article describes how to create an OAuth integration with the Street Smart Javascript API.

The following parts are discussed:

point

Type: (Vector3 | undefined)

GenericViewer

Containing event definitions that are the same across all viewers

Events
LAYER_VISIBILITY_CHANGE
VIEWER_ADDED
VIEWER_REMOVED
VIEWER_UPDATED

MeshViewerContainer

MeshViewer component. Do not create this component directly; use the open function.

Instance Members
getId()
getMapDesaturated()
getNavbarVisible()
getType()
toggleNavbarExpanded(expanded?)
toggleNavbarVisible(visible?)
getCoordinatesForMeshViewer
setDesaturatedTexture
setLOSEyeHeight
setNavigationState
setOverlayVisibility
setTime

ObliqueViewer

ObliqueViewer component. Do not create this component directly; use the open function.

Instance Members
getButtonEnabled(buttonId)
getId()
getTimeTravelExpanded()
getTimeTravelVisible()
getType()
saveImage()
setBrightness(value?)
setContrast(value?)
setSelectedFeatureByProperties(jsonProperties, layerId)
switchViewingDirection(deltaDegrees)
toggleButtonEnabled(buttonId, enabled?)
toggleCompass(visible?)
toggleNavbarVisible(visible?)
toggleOverlay(layer)
toggleSidebarEnabled(enabled?)
toggleSidebarExpanded(expanded?)
toggleSidebarVisible(visible?)
toggleTimeTravelExpanded(expanded?)
toggleTimeTravelVisible(visible?)
zoomIn()
zoomOut()
getNavbarVisible
getSidebarEnabled
getSidebarExpanded
getSidebarVisible
toggleCenterMapVisibility
toggleImageInformation
Events
FEATURE_CLICK
FEATURE_SELECTION_CHANGE
IMAGE_CHANGE
SWITCH_VIEWING_DIRECTION
TIME_TRAVEL_CHANGE
VIEW_CHANGE
VIEW_LOAD_END

PanoramaViewer

PanoramaViewer component. Do not create this component directly; use the open function.

Instance Members
get3DCursorVisible()
getId()
getOrientation()
getRecording()
getType()
getViewerColor()
lookAtCoordinate(coordinate, srs?)
openByAddress(query, srs?)
openByCoordinate(coordinate, srs?)
openByImageId(imageId, srs?)
rotateDown(deltaPitch)
rotateLeft(deltaYaw)
rotateRight(deltaYaw)
rotateUp(deltaPitch)
saveImage()
setBrightness(value?)
setContrast(value?)
setElevationSliderLevel(elevationLevel)
setFeatureStyle(feature, null)
setOrientation(orientation)
setSelectedFeatureByProperties(jsonProperties, layerId, additionalLayerId)
setSuppressLoading(active)
showAttributePanelOnFeatureClick(visible?)
toggle3DCursor(visible?)
toggleAddressesVisible(visible?)
toggleNavbarVisible(visible?)
toggleOverlay(layer)
toggleRecordingsVisible(visible?)
toggleSidebarEnabled(enabled?)
toggleSidebarExpanded(expanded?)
toggleSidebarVisible(visible?)
toggleTimeTravelExpanded(expanded?)
toggleTimeTravelVisible(visible?)
canvasToBase
crossSectionController
crossSectionPoints
getButtonEnabled
getCenterMapVisible
getNavbarVisible
getRecordingsVisible
getSidebarEnabled
getSidebarExpanded
getSidebarVisible
getTimeTravelExpanded
getTimeTravelVisible
toggleButtonEnabled
toggleCenterMapVisibility
toggleImageInformation
toggleLinkVisibility
toggleMousePosition
toggleReportBlurring
Events
ELEVATION_CHANGE
FEATURE_CLICK
FEATURE_SELECTION_CHANGE
IMAGE_CHANGE
MEASUREMENT_CHANGED
MEASUREMENT_SAVED
MEASUREMENT_STARTED
MEASUREMENT_STOPPED
RECORDING_CLICK
SURFACE_CURSOR_CHANGE
TILE_LOAD_ERROR
TIME_TRAVEL_CHANGE
VIEW_CHANGE
VIEW_LOAD_END

PointCloudViewer

PointcloudViewer component. Do not create this component directly; use the open function.

Instance Members
getBackgroundPreset()
getButtonEnabled(buttonId)
getEdgesVisibility()
getId()
getMaxHeightColorization()
getMinHeightColorization()
getNavbarVisible()
getPointAmount()
getPointSize()
getPointStyle()
getType()
setBackgroundPreset(backgroundPreset, Background)
setMaxHeightColorization(heightColorization)
setMinHeightColorization(heightColorization)
setPointAmount(amount)
setPointSize(size)
setPointStyle(style)
toggleButtonEnabled(buttonId, enabled?)
toggleEdges(visibility?)
toggleNavbarVisible(visible?)
togglePointCloudType(switchToPointCloudType, value?)
Events
BACKGROUND_CHANGED
EDGES_CHANGED
POINT_BUDGET_CHANGED
POINT_SIZE_CHANGED
POINT_STYLE_CHANGED
VIEW_CHANGE

WfsRecordingClient

Initializes a new WFS recording client. This client handles loading recordings through an OGC Web Feature Service (WFS).

Extends wfsRecordingClient.WfsRecordingClient()

Example
const recordingClient = new StreetSmartApi.WfsRecordingClient();

WfsTPRecordingClient

Initializes a new WFS third party recording client. This client handles loading third party recordings through an OGC Web Feature Service (WFS).

Extends wfsTPRecordingClient.TPRecordingClient()

Example
const recordingClient = new StreetSmartApi.WfsRecordingClient();

xy

Reason why we convert from world vector to pixel and then that same pixel coords back to world vector is because world vector we got from dragging events are incorrect due to draggin event calculation. We know that pixel coords are good, but for 3d movement on 2d screen, it is unable to determine where the intersection between dragging vector and depth map actually is

BEARER_CHANGED

Bearer token changed or added.

Type: Object

Properties
type (string) : event type
detail (object) : event properties
  • detail.bearerToken string

    The added or changed Bearer Token

addOverlay

Add a GeoJSON overlay to the panorama viewer. Can be removed with removeOverlay

Parameters
options (object) Set of parameters for overlay
Name Description
options.geojson object GeoJSON object containing the layer data
options.name string? Name of the layer
options.sourceSrs string? Optional EPSG code (srs) for the source GeoJSON, if not provided, srs of API initialisation is used.
options.sldXMLtext string? Optional XML string for Styled Layer Descriptor
options.color string? Optional color string, needs to be a hexadecimal value
options.visible boolean? Optional for setting the visibility of the layer, default is true
Returns
{id: (string)}
Example
var options = {name: 'My GeoJSON', geojson: {}, sourceSrs: 'EPSG:28992', sldXMLtext: 'XMLstring'};
var layer = StreetSmartApi.addOverlay(options);
var layerId = layer.id

addWFSLayer

Add a WFS Layer as overlay to the panorama viewer. Can be removed with removeOverlay

Parameters
options (Object) Set of parameters for overlay
Name Description
options.name string Name of the layer
options.url string The url where the WFS is hosted. Not needed if a remoteOWS is provided in the sld.
options.typeName string The type name of the layer. Not needed if a remoteOWS is provided in the sld.
options.version string The WFS version to be used (1.0.0, 1.1.0, 2.0.0)
options.sldXMLtext string? Optional XML string for Styled Layer Descriptor, this can contain an remoteOWS with wfs service.
options.color string? Optional color string, needs to be a hexadecimal string value
options.authRequired boolean? Whether this layer requires authentication to access
options.credentials credentials? Credentials used to access the layer.
options.visible boolean? Optional for setting the visibility of the layer, default is true
Returns
{id: (string)}
Example
var options = {
name: 'My Super cool layer',
url: 'http://testserver.com/geoserver/streets/wfs',
typeName: 'streets:street-center-lines',
version: '1.1.0',
color: '#00ff00',
authRequired: true,
credentials: { username: 'Mike', password: 'Tyson'}
};
var layer = StreetSmartApi.addWFSLayer(options);
var layerId = layer.id

closeViewer

Close a panorama or oblique viewer using a window ID (wid).

Parameters
wid (string) The ID of the viewer to close.
Returns
Promise<any> : When the promise resolves, it returns an array with references to all viewers of type PanoramaViewer and/or ObliqueViewer .
Example

Close a viewer by ID:

StreetSmartApi.open('5D4KX5SM', {
 viewerType: [StreetSmartApi.ViewerType.PANORAMA],
 srs: 'EPSG:28992',
 panoramaViewer: { replace: false, },
}).then(
 function(result) {
   if (result && result[0]) {
     setTimeout(() => {
       StreetSmartApi.closeViewer(result[0].props.id).then(
         function(res) {
           if (res) {
             console.log('Opened and closed a viewer, resulting in an empty list of viewers: ' + res);
           }
         }).catch(
           function(err) {
             console.log('error closing viewer: ' + err);
           }
         )
    }, 1000);
  }
 }).catch(
   function(reason) {
     console.log('Error opening panorama viewer: ' + reason);
   }
 )

destroy

Destroys the API. Cleans up its event handlers and makes used memory available for garbage collection.

Parameters
options (Object) Object containing the options used for destroying the API.
Name Description
options.targetElement Element? DOM element the viewers were rendered into.
options.loginOauth boolean? Indicates whether OAuth was used for login. true means log in was performed via OAuth.
options.doOAuthLogoutOnDestroy boolean? Indicates whether to log out with OAuth when destroy is called. true means log out with OAuth.

getActiveMeasurement

Get the active measurement

Returns
Array : Returns Array that includes Type, GeoJSON data and CRS object.
Example

Get the active measurement data

StreetSmartApi.getActiveMeasurement();

result:
{
type: String,
 features: [
  geometry: Object,
  properties: Object,
  type: String,
 ],
 crs: Object,
}

getAddressSettings

Returns the object containing the address search settings.

Returns
{locale: (string), database: (string)} : Object containing the address settings.

getApiReadyState

Returns the current 'ready'-state of the API.

Returns
Boolean : 'ready'-state.

getApplicationName

Returns the application name of the API.

Returns
string : Application name.

getApplicationVersion

Returns the used version of the API.

Returns
string : API version number.

getBearerToken

Returns the Bearer token from the API.

Returns
string : Bearer token.

getDebugLogs

Returns all logs, including ones invisible to integrators.

Returns
Array<string> : Array of console logs

getPermissions

Returns the object containing functionalities that are currently permitted to use by the user.

Returns
Array : Array containing the permissions.

getProj4

Get a proj4 object. Proj4js is a JavaScript library to transform point coordinates from one coordinate system to another, including datum transformations.

Returns
proj4
Example
var proj4 = StreetSmartApi.getProj4();

getViewers

Return an array with references to all viewers.

Returns
Array<Object> : Returns an array with references to all viewers of type PanoramaViewer and/or ObliqueViewer .
Example

Get opened viewers:

StreetSmartApi.open('5D4KX5SM', {
 viewerType: [StreetSmartApi.ViewerType.PANORAMA],
 srs: 'EPSG:28992',
 replace: false,
}).then(
  function(result) {
    if (result && result[0]) {
      const viewers = StreetSmartApi.getViewers();
      console.log('Viewer Array:', viewers);
    }
  }).catch(
   function(reason) {
     console.log('Error opening panorama viewer: ' + reason);
   }
 )

init

Initializes the API using the inserted values. Required to use functional viewers. Please choose a feet or metric system like: EPSG:26918 (UTM18 - USA) or EPSG:28992 (Netherlands)

Parameters
options (Object) Object containing the options used for initializing the API.
Name Description
options.targetElement Element? DOM element to render the viewers into.
options.username string? Username of the user. It can be used both when logging in via OAuth and when logging in via basicAuth.
options.password string? Password of the user. Only used when the loginOauth value is false.
options.loginOauth boolean? Indicates to login with OAuth. true means login with OAuth. false means use basic auth. Login with OAuth will always try to execute silent authentication first, and popup authentication only in case silent authentication fails.
options.loginOauthSilentOnly boolean? Indicates to login with OAuth with silent authentication only. true means using silent authentication only. false means use silent authentication together with login popup authentication if silent authentication fails (for example when user session expired). This parameter is optional and false is default.
options.clientId string? The clientId of the user. This value only needs to be provided when logging in via oAuth. The clientId can be obtained from the helpdesk.
options.loginRedirectUri string? Optional value, the absolute / relative path to the redirect login handling of oauth.
options.logoutRedirectUri string? Optional value, the absolute / relative path to the redirect logout handling of oauth.
options.tid string? Password of the user.
options.apiKey string apiKey given to the user.
options.srs string EPSG code of the coordinate system used in the API. E.g. "EPSG:28992".
options.locale string (default 'en-US') Language used as default in the API. currently we support: de, en-GB, en-US, fi, fr, nl, tr, pl
options.overlayDrawDistance string (default 30) max distance that is used for draw the overlays in the panorama viewer.
options.addressSettings {locale: string, database: string}? The address settings to use for address searches.
options.configurationUrl string? Deprecated - Alternate configuration url to use for all configuration services. Can be used for a local installation . locale - The locale to use. e.g. 'nl', use only 2 letter ISO-3166 country codes . database - The name of the database. e.g. 'CMDatabase'.
Returns
Promise : Returns a new promise for the result that may be used to chain additional functions.
Example

Initializing a StreetSmartApi.

<script type="text/javascript" src="src/StreetSamrtApi.js"></script>

// Set variables for initialization.
let options = {
     targetElement: document.getElementById('streetsmartApi'),
     username: "username",
     password: "password",
     loginOauth: true,
     loginOauthSilentOnly: true,
     clientId: 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx'
     srs: "EPSG:29882",
     apiKey: "XXXX-XXXX-XXXX-XXXX",
     locale: "en-US",
     overlayDrawDistance: 30,
     addressSettings: {
         locale: "nl",
         database: "CMDatabase"
     }
};

// Initalize
StreetSmartApi.init(options).then( successCallback, errorCallback);

off

Method to add an event listener.

Parameters
type (string) Remove an event listener. See Events E.g. MEASUREMENT_CHANGED
callback (Function) Function which was set on the event listener.
Returns
StreetSmartAPI : Returns back the instance of StreetSmartAPI so you can remove events in a chain.

off

Method to add an event listener.

Parameters
type (string) Remove an event listener. See Events E.g. RECORDING_CLICK
callback (Function) Function which was set on the event listener.
Returns
PanoramaViewer : Returns back the instance of PanoramaViewer so you can remove events in a chain.

on

Method to add an event listener.

Parameters
type (string) Type of event to listen to. See Events E.g. MEASUREMENT_CHANGED
callback (Function) Callback for event listener. Will provide an event as the first argument.
Returns
StreetSmartAPI : Returns back the instance of StreetSmartAPI so you can add events in a chain.

on

Method to add an event listener.

Parameters
type (string) Type of event to listen to. See Events E.g. RECORDING_CLICK
callback (Function) Callback for event listener. Will provide an event as the first argument.
Returns
PanoramaViewer : Returns back the instance of PanoramaViewer so you can add events in a chain.

open

Open a panorama, oblique, point cloud viewer and/or meshviewer using a query. The query can be a coordinate, an extent, an address or a panorama/oblique ID.

Parameters
query (string) The query
options (object)
Name Description
options.viewerType Array<ViewerType> an array indicating what kind of viewer(s) to open
options.recordingServiceType RecordingServiceType value indicating what kind of service to open
options.srs string EPSG code of the spatial reference system to use
options.panoramaViewer PanoramaViewerOptions options object for PanoramaViewer options
options.obliqueViewer ObliqueViewerOptions options object for ObliqueViewer options
options.pointcloudViewer PointcloudViewerOptions options object for PointcloudViewer options
options.meshviewer MeshViewerOptions options object for MeshViewer options
Returns
Promise<any> : When the promise resolves, it returns an array with references to the created PanoramaViewer , ObliqueViewer and/or MeshViewerContainer .
Example

Open a panorama viewer by ID:

StreetSmartApi.open('5D4KX5SM', {
  viewerType: [StreetSmartApi.ViewerType.PANORAMA],
  srs: 'EPSG:28992',
  panoramaViewer: { replace: false, },
}).then(
  function(result) {
    if (result && result[0]) {
      console.log('Opened a panorama viewer through API!', result[0]);
    }
  }
).catch(
  function(reason) {
    console.log('Error opening panorama viewer: ' + reason);
  }
)

Open a panorama viewer by coordinate and date range (this is only applicable for the panorama viewer):

StreetSmartApi.open(
{
 coordinate: [121692.34, 487812.37, 5.60],
 dateRange: {from: '2017-03-01', to: '2017-04-01'},
},
{
viewerType: [StreetSmartApi.ViewerType.PANORAMA],
srs: 'EPSG:28992',
panoramaViewer: { replace: false, },
}).then(
  function(result) {
    if (result && result[0]) {
      console.log('Opened a panorama viewer through API!', result[0]);
    }
  }
).catch(
  function(reason) {
    console.log('Error opening panorama viewer: ' + reason);
  }
)

Open a panorama viewer and oblique viewer by address:

StreetSmartApi.open('Van Voordenpark 1, Zaltbommel', {
  viewerType: [StreetSmartApi.ViewerType.PANORAMA, StreetSmartApi.ViewerType.OBLIQUE],
  srs: 'EPSG:28992',
}).then(
  function(result) {
    if (result && result[0] && result[1]) {
      console.log('Opened a panorama viewer and oblique viewer through API!', result[0], result[1]);
    }
  }
).catch(
  function(reason) {
    console.log('Error opening viewers: ' + reason);
  }
)

Open a aerial pointcloud viewer by coordinate:

StreetSmartApi.open(
{
  coordinate: [121692.34, 487812.37, 5.60],
},
{
  viewerType: [StreetSmartApi.ViewerType.POINTCLOUD],
  srs: 'EPSG:28992',
  pointcloudViewer: { pointCloudType: StreetSmartApi.PointCloudType.AERIAL }}).then(
  function(result) {
    if (result && result[0]) {
      console.log('Opened a pointcloud viewer through API!', result[0]);
    }
  }
).catch(
  function(reason) {
    console.log('Error opening pointcloud viewer: ' + reason);
  }
)

Open a panorama viewer and an aerial pointcloud viewer by coordinate:

StreetSmartApi.open(
{
  coordinate: [121692.34, 487812.37, 5.60],
},
{
  viewerType: [StreetSmartApi.ViewerType.PANORAMA, StreetSmartApi.ViewerType.POINTCLOUD],
  srs: 'EPSG:28992',
  panoramaViewer: { replace: false, },
  pointcloudViewer: { pointCloudType: StreetSmartApi.PointCloudType.AERIAL }}).then(
  function(result) {
    if (result) {
      console.log('Opened a pointcloud viewer and a panorama viewer through API!', result);
    }
  }
).catch(
  function(reason) {
    console.log('Error opening pointcloud viewer and panorama viewer: ' + reason);
  }
)

Open a meshviewer by coordinates:

StreetSmartApi.open(
{
  coordinate: [121293.08, 487400, 69],
},
{
  viewerType: StreetSmartApi.ViewerType.MESHVIEWER,
  srs: 'EPSG:28992',
  meshviewer: {
    fromViewer: StreetSmartApi.ViewerType.PANORAMA,
  }
 }).then(
  function(result) {
    if (result) {
      console.log('Opened a meshviewer through the API', result);
    }
  }
).catch(
  function(reason) {
    console.log('Error opening meshviewer: ' + reason);
  }
)

Open a meshviewer by imageID or address: (choose one)

StreetSmartApi.open("WE4UGIO7" || "Dam 3, Amsterdam",
{
  viewerType: StreetSmartApi.ViewerType.MESHVIEWER,
  srs: 'EPSG:28992',
  meshviewer: {
    fromViewer: StreetSmartApi.ViewerType.PANORAMA,
  }
 }).then(
  function(result) {
    if (result) {
      console.log('Opened a meshviewer through the API', result);
    }
  }
).catch(
  function(reason) {
    console.log('Error opening meshviewer: ' + reason);
  }
)

removeOverlay

Remove a GeoJSON overlay from the panorama viewer

Parameters
layerId (string) Id of the layer. Use the id that was returned by addOverlay
Example
var layer = StreetSmartApi.addOverlay("My GeoJSON", {}, "EPSG:28992");
StreetSmartApi.removeOverlay(layer.id)

setActiveMeasurement

** EXPERIMENTAL ** Set the active measurement.

Parameters
geojson (any)
measurement (object) A Geojson FeatureCollection including a crs object. see http://geojson.org/geojson-spec#coordinate-reference-system-objects
Example

Set the active measurement data

var measurement = StreetSmartApi.getActiveMeasurement();

measurement.features[0].properties.id = 'changed_measurement'

StreetSmartApi.setActiveMeasurement(measurement);

measurement:
{
type: String,
 features: [
  geometry: Object,
  properties: Object,
  type: String,
 ],
 crs: Object,
}

example crs:
{
 type: 'name',
 properties: {
     name: 'EPSG:28992',
     }
 }

setOverlayDrawDistance

set de overlay draw distance in

Parameters
overlayDrawDistance (string)
Example
var layer = StreetSmartApi.addOverlay("My GeoJSON", {}, "EPSG:28992");
StreetSmartApi.setOverlayDrawDistance(50);

setSnapping

Sets whether or not cursor movements will snap to nearby features while in measurement mode

Parameters
enabled (boolean) Whether or not to enable or disable snapping

startMeasurementMode

Start measurement mode for the given panorama viewer.

Parameters
viewer (object) An instance of PanoramaViewer or ObliqueViewer
options (object?) Object containing measurement options.
Name Description
options.geometry MeasurementGeometryTypes? Bypasses the measurement mode dialog and starts measurement in the given mode.
options.measureMethod MeasureMethods? Starts the measurement with a specified measurement method. MeasureSmart, SmartClick or Forward Intersection. only applicable to panorama measurements.
options.showSaveMeasurementButton Boolean? Show the 'Save measurement' button during the measurement. note: With the button toggle: 'SAVE_MEASUREMENT' you can also enable the measurement button. You need this toggle if you want to start the measurement from the panorama viewer.
options.recordingServiceType RecordingServiceType? Type of recordings which will be used to perform measurements on. Defaults to RecordingSerivceType.DCR
Example

Start measurement mode without passing a geometry type. The user can then choose the measurement mode.

StreetSmartApi.startMeasurementMode(panoramaViewer);

Start measurement mode as point measurement

StreetSmartApi.startMeasurementMode(panoramaViewer, {geometry:StreetSmartApi.MeasurementGeometryType.POINT});

Start measurement mode as distance measurement

StreetSmartApi.startMeasurementMode(panoramaViewer, {geometry:StreetSmartApi.MeasurementGeometryType.LINESTRING});

Start measurement mode as surface measurement

StreetSmartApi.startMeasurementMode(panoramaViewer, {geometry:StreetSmartApi.MeasurementGeometryType.POLYGON});

Start measurement mode as surface measurement, with as measure method Smart Click

StreetSmartApi.startMeasurementMode(panoramaViewer, {geometry:StreetSmartApi.MeasurementGeometryType.POLYGON, measureMethod: StreetSmartApi.MeasureMethods.SMART_CLICK });

Start measurement mode as surface measurement, with the show measurement button visible

StreetSmartApi.startMeasurementMode(panoramaViewer, {geometry:StreetSmartApi.MeasurementGeometryType.POLYGON, showSaveMeasurementButton: true });

Show the 'Save measurement' button during a measurement. The measurement can be started from the panorama viewer.

StreetSmartApi.open('5D4KX5SM', {
 viewerType: [StreetSmartApi.ViewerType.PANORAMA],
 srs: 'EPSG:28992',
 replace: false,
}).then(
  function(result) {
    if (result && result[0]) {
      const viewer = result[0];
      viewer.toggleButtonEnabled(StreetSmartApi.PanoramaViewerUi.SAVE_MEASUREMENT);
    }
  }).catch(
   function(reason) {
     console.log('Error opening panorama viewer: ' + reason);
   }
 )

stopMeasurementMode

Stop measurement mode

Example

Stop measurement mode

StreetSmartApi.stopMeasurementMode();

updateOverlay

Update a GeoJSON overlay in the panorama viewer. Can be removed with removeOverlay

Parameters
options (object) Set of parameters for overlay
Name Description
options.geojson object GeoJSON object containing the layer data
options.name string? Name of the layer
options.sourceSrs string? Optional EPSG code (srs) for the source GeoJSON, if not provided, srs of API initialisation is used.
options.sldXMLtext string? Optional XML string for Styled Layer Descriptor
options.color string? Optional color string, needs to be a hexadecimal value
options.visible boolean? Optional for setting the visibility of the layer, default is true
Returns
{id: (string)}
Example
var options = {name: 'My GeoJSON', geojson: {}, sourceSrs: 'EPSG:28992', sldXMLtext: 'XMLstring'};
var layer = StreetSmartApi.updateOverlay(options);
var layerId = layer.id

Events

Object which contains event type constants for all components.

Static Members
login
measurement
meshViewer
obliqueViewer
panoramaViewer
pointcloudViewer

OAuth

Static Members
Initialization
Login-redirect
Logout
Logout-redirect

Settings

Object which is an Interface for changing certain settings withing the api

Properties
setUnitPreference (function) : sets the units used to show measurement and other geological data.
getUnitPreference (function) : gets the units used to show measurement and other geological data.
UNIT_PREFERENCE (Object) : Enum containing a list of available unit preferences
Static Members
getUnitPreference
setUnitPreference
SettingsUnitPrefs

ShortCuts

Object which is an Interface for enabeling/disabeling shortcuts

Properties
enableShortcut (function) : enables the usage of a shortcut within the api.
disableShortcut (function) : disables the usage of a shortcut within the api.
ShortcutNames (Object) : Object containing a list of available shortcut names
Static Members
disableShortcut
enableShortcut
ShortcutNames

BackGround

Defines the Background

Type: Object

Properties
SKYBOX (string) : 'Skybox'
DARKBLUE (string) : 'DarkBlue'
LIGHTBLUE (string) : 'LightBlue'
BLACK (string) : 'Black'
DARKGRAY (string) : 'DarkGray'
GRAY (string) : 'Gray'
LIGHTGRAY (string) : 'LightGray'
WHITE (string) : 'White'

ColorizationMode

Defines the PointStyles

Type: Object

Properties
RGB (string) : 'RGB'
HEIGHT (string) : 'Height'
INTENSITY (string) : 'Intensity'
CLASSIFICATION (string) : 'Classification' (for aerial only)

Coordinate

Coordinate definition

Type: Array<Number>

Parameters
$0 (number) X value of the coordinate
$1 (number) Y value of the coordinate
$2 (number?) Z value of the coordinate

Layer

Type: Object

Properties
id (string) : id of the layer.
visible (boolean) : visibility to toggle to.
name (string?) : optional: name of the layer.

MeasurementGeometryTypes

Measurement Geometry types

Type: object

Parameters
POINT (string) Point
LINESTRING (string) LineString
POLYGON (string) Polygon
ORTHOGONAL (string) Orthogonal
HEIGHT (string) Height

MeshViewerOptions

Definition of options for (3D) Meshviewer

Type: Object

Properties
fromViewer (ViewerType) : determines how the camera is set (e.g. OBLIQUE -> bird's view, PANORAMA -> streetview, etc.)

ObliqueViewerOptions

Definition of options for ObliqueViewer

Type: Object

Properties
closable (boolean) : Show window close button. Default is true.
maximizable (boolean) : Show window maximize button. Default is true.
timeTravelVisible (boolean) : Enable viewing earlier oblique images.
navbarVisible (boolean) : Show viewer navigation bar.
sidebarVisible (boolean) : Show viewer navigation bar.

ObliqueViewerUi

Definition of oblique viewer UI elements

Type: Object

Properties
buttons (Object) : Buttons
  • buttons.OVERLAYS string

    Button for opening overlaypanel

  • buttons.SWITCH_DIRECTION string

    Buttons for switching viewing direction

  • buttons.SAVE_IMAGE string

    Button for saving image

  • buttons.TOGGLE_NADIR string

    Button for toggling between Oblique and Nadir images

TIME_TRAVEL (string) : timetravel UI elements
NAVBAR (string) : toolbar
COMPASS (string) : compass
IMAGE_INFORMATION (string) : image information
SAVE_MEASUREMENT (string) : Button in the measurement panel, for saving the oblique measurement
CENTER_MAP (string) : center on map current location

PanoramaViewerOptions

Definition of options for PanoramaViewer

Type: Object

Properties
closable (boolean) : Show window close button. Default is true.
maximizable (boolean) : Show window maximize button. Default is true.
replace (boolean) : Replace already opened panorama viewer.
recordingsVisible (boolean) : Show recording dots.
timeTravelVisible (boolean) : Enable viewing earlier recordings.
navbarVisible (boolean) : Show viewer navigation bar.
sidebarVisible (boolean) : Show viewer navigation bar.
measureTypeButtonVisible (boolean) : Show measurement type button in measurement the navigation bar. Default is true.
measureTypeButtonToggle (boolean) : Allow toggle of measurement type in measurement the navigation bar. Default is true.
measureTypeButtonStart (boolean) : Start new measurement when clicking on measurement type button in measurement the navigation bar. Default is true.

PanoramaViewerUi

Definition of panorama viewer UI elements

Type: object

Properties
buttons (string) : Buttons
  • buttons.ELEVATION string

    Button open elevation panel

  • buttons.OVERLAYS string

    Button open overlay panel

  • buttons.OPEN_OBLIQUE string

    Button open oblique on current panorama location

  • buttons.OPEN_POINTCLOUD string

    Button open point cloud on current panorama location

  • buttons.REPORT_BLURRING string

    Button report blurring issue

  • buttons.MEASURE string

    Button for measuring

  • buttons.SAVE_IMAGE string

    Button for saving image

TIME_TRAVEL (string) : timetravel UI elements
NAVBAR (string) : toolbar
RECORDINGS (string) : recording dots
MEASUREMENTS (string) : measurements
ADDRESSES (string) : addresses
SEARCHLOCATION (string) : search location
SAVE_MEASUREMENT (string) : Button in the measurement panel, for saving the panorama measurement
COMPASS (string) : compass
REPORT_BLURRING (string) : report blurring
IMAGE_INFORMATION (string) : image information
LINK (string) : link panorama viewers
CENTER_MAP (string) : center on map current location

PointCloudViewerUi

Definition of pointcloud viewer UI elements

Type: Object

Properties
buttons (Object) : Buttons
  • buttons.OVERLAYS string

    Button open overlay panel

  • buttons.DISPLAY string

    Button open display panel

NAVBAR (string) : toolbar
SAVE_MEASUREMENT (string) : Button in the measurement panel, for saving the point cloud measurement

PointSize

Defines the pointSize

Type: Object

Properties
SINGLE (string) : 'single'
DOUBLE (string) : 'double'
LARGE (string) : 'large'

PointcloudViewerOptions

Definition of options for Point cloud viewer

Type: Object

Properties
pointCloudType (PointCloudType) : type point cloud to open.

Quality

Defines the point amount

Type: Object

Properties
LOW (string) : 'low'
MEDIUM (string) : 'medium'
HIGH (string) : 'high'
ULTRA (string) : 'ultra'

RGBA

Array of length four with four elements. r, g, b, a, respectively.

Type: Array

Properties
$0 (number) : Value of Red in rgba, between 0 and 255
$1 (number) : Value of Green in rgba, between 0 and 255
$2 (number) : Value of Blue in rgba, between 0 and 255
$3 (number) : Value of Alpha in rgba, between 0 and 1

credentials

Type: Object

Properties
username (string) : Username user to access the layer.
password (string) : Password user to access the layer.