This is documentation of an archived release.
For documentation on the current version, please check Knowledge Base.
For documentation on the current version, please check Knowledge Base.
Pick Location and Basic Map Interactions
This page is about basic interactions that occur between the Viewer and the third-party map.
Pick location on Map
In some scenario's the viewer needs the third party viewer to provide a coordinate :
- The user activates the “Move Position” action on a View.
This is how that process works :
- The viewer dispatches the
onPickPositionRequestedsignal. - You ask the user to provide a position in the third-party viewer.
- You provide this position to the SDK.
Note that when providing a coordinate to the SDK, it must be provided with a CRS code.
handlePickPositionRequested() { // Set a flag waitingForPickPosition = true; // Request the click from the user... } handleUserPickedPosition(x,y,crs) { // Pass position to the viewer let coordinate = Coordinate.fromXY(crs,x,y); viewer.setPickPosition(coordinate); } viewer.onPickPositionRequested.add(handlePickPositionRequested);
Focus Viewer to a Position
One simple function exists to focus the viewer on a coordinate. When called, the viewer will ask all views to focus on the given coordinate :
- 3D Views will pan, to bring the position into focus.
- Photo Views will
- 1) Open the best photo for the given coordinate and
- 2) Bring the position into focus on the photo.
var coordinate = Coordinate.fromXY("4326",longitude,latitude); viewer.setFocusPosition(coordinate);
Zoom to Extent
Zooming to a specific extent is something the user can request from inside the Viewer. One example is zooming to a resource extent. It is up to you as an SDK developer to implement this action.
The provided extent will always be expressed in the default crs.
function handleZoomToExtent(extent) { // Zoom third-party viewer to the given extent. // ... } // Listen to event. viewer.onZoomToExtent.add(handleZoomToExtent);
Last modified:: 2019/03/25 11:36