The API can be installed as a package using npm. To install it from the npm package repository, simply type:
npm install @inovitas/infra3dapi
Alternatively, you can obtain the API from a CDN. To get the latest version, add the following script to your HTML file:
<script src="https://cdn.jsdelivr.net/npm/@inovitas/infra3dapi@latest/infra3dapi.js"></script>
We recommend using a specific version in your project. To get a specific version, use the following script and adjust the version accordingly:
<script src="https://cdn.jsdelivr.net/npm/@inovitas/infra3dapi@1.0.1/infra3dapi.js"></script>
Note: Please do not name the <div>
in which the viewer is initialized as "infra3d" as this may cause internal conflicts.
To use the API, you can call the init functions in infra3dapi. After loggin in and initializing the view (with manager.initView()
), you will get a viewer object. This viewer object can then be used to add event-listeners to different events emitted by the viewer (like viewer.geoframechanged
) or to call some functions (like viewer.getRoutes()
or viewer.movePosition()
).
- Register your OAuth 2.0 application with our sales team to obtain credentials (client_id and client_secret).
- Develop a server-side component to securely use these credentials, obtaining an access token from infra3D.
- Your server-side component fetches the access token using client credentials, which can then be shared with your client app.
- Your client app uses this token to authenticate with infra3D for requested services, refreshing it via the server component when expired. Remember to treat the client_secret like a password, avoiding exposure in client-side environments for enhanced security.
- viewer.getCameraView() and viewer.setCameraView(...)
- viewer.setUserInteraction(true, false) to enable or disable paning and/or zooming in the image
- viewer.on("panzoomchanged", ...) to get notified when a user is interacting whithin a stereo image
- viewer.getCurrentNode() to retrieve some information like coordinates of the current position
- extended the viewer.on("nodechanged", ...) with some further properties
- When adding a WFS 2.0 Layer, the settings have not been took over and not been saved correctly (IN-3444)
- When minimising the measurement panel and reopening meausrements again, the panels overlap each other (IN-3461)
- Some request when using a non-migrated user resulted in a 400 Bad Request.
- Profile Tool enlarge button now has a tooltip
- Add-On Point Cloud Export: Authorisation based on scope entry in token
- LoD Concept for Pointcloud fragments
- Add-On Point Cloud Export: Loading state on startup
- Keydown/-up Eventlisteners ignored if evt.target is an HTMLInputElement, HTMLTextAreaElement or HTMLSelectElement.
- Requests in routesprovider have a lower limit to not reach the backend limit of 6 MB.
- Viewer is destroyed completly, with unlistening to events.
- Layer-configs: Wrong handling with source_options fixed
- When adding a new feature, it could be saved only after two inserts. This is now fixed.
- Fix shortened arcgis URL in Layer options
- Fix jump to multipolygon feature in Feature table
- Fix bug when Frame 0 is not inside projectscope
- Fix zick-zack bug in map when having lra-projects
- React Reference Error when activating survey wheel measurement
- Not loading depthmaps anymore if loading view
- Improve styling when using global box-sizing style
- Style of the scrollbar is no more globally overwritten by the API
- Resize event listens now on the div and not the whole window
- Added functions on viewer to draw and pick a geometry
- Added geometry overlays to display geometries in the viewer
- Function to destroy the API and remove it from the DOM
- viewer.getRoutes() resulted in an error
- Layer export not working for non-memory layers
- Duplicate layers when exporting directly after importing layers (without reloading)
- Bug in viewer.getRoutesOutline() when using as migrated user.
- Same default EPSG-Code (4326) when using start-position for (un)-migrated users.
- ProjectScope is available to restrict the access inside a project accordingly.
- New concept for routes abstraction in the map, using hexagons
- viewer.getRouteLines() and viewer.getRouteHexes()
- PointCloudExport
- Support of EPSG-Code in start-position
- Fixed pilegate URL for migrated users.
- Using the profiletool, added an information and reset the tool when changing the image while performing a measurement.
- Fix the bug when using jest for testing.
- Added missing bounding box parameter to viewer.getRoutes().
- Fixed bug in the layer tree view. The layer tree is visible again.
- Fixed a bug in the campaign change event in the viewer.
- Restoration of toolbar and top bar functionality: They can now be shown and hidden smoothly.
- Introduction of machine authentication and a new corresponding example.
- Added: Option for access token in the init function.
- Added: Refresh token for the init function.
- Typings
- Examples have been updated to accommodate the new authentication process.
- Interactive login functions.
- Removed: Two options from the init function:
- demoAccess
- redirectPath
- Integrated and documented functions
- moveToPosition
- moveToCampaign
- lookAtPosition
- getRoutes
- Improved documentation
- Description of the event types
- Description of further settings
- Adaptation to the existing examples
- Troubleshooting with internal module
- Demo Access Login
- Documenation
- Adoption of adjustments to the UI base of infra3D Edit
- Various minor adjustments
- Edit functionality