This is documentation of an archived release.
For documentation on the current version, please check Knowledge Base.

Show Footprints

This page describes how to track Resource updates to render Footprints on the Reference Map.

Listening

You as a developer should listen for changes to the Reference Map extent. When it changes, footprints should be updated.

To listen to resource changes, use these signals :

  • onResourceOpened : fired when a resource is opened.
  • onResourceClosed : fired when a resource is closed.

When any of these events occur, footprints should be refreshed.

Loading

Use the getStreamingFootprints2D to retrieve footprints for a 2D map.

Depending on your host environment, it may be the case that “map extent” events are fired faster than you can handle them. In such a case, loading footprints should be rate-limited by limiting the calls to the getStreamingFootprints2D function.

For javascript, see https://www.npmjs.com/package/debounce

/**
 * Update footprint data.
 * Assumes reference map scale,crs,minX,minY,maxX and maxY properties are available in this context.
 */
function updateFootprints() {
  // Get map extent
  var bounds = Bounds.fromXY(crs,minX,minY,maxX,maxY);
  // Get map objects
  var mapObjects = viewer.getStreamingFootprints2D(null/*resourceIds*/,bounds,scale).then(renderFootprints);
  // Render map objects
  renderMapObjects(mapObjects);
}
// Listen to signals
viewer.onResourceOpened.add(updateFootprints);
viewer.onResourceClosed.add(updateFootprints);

Rendering

 
Last modified:: 2019/03/25 11:36