- java.lang.Object
-
- javafx.scene.Node
-
- javafx.scene.Parent
-
- javafx.scene.layout.Region
-
- javafx.scene.control.Control
-
- com.esri.arcgisruntime.mapping.view.GeoView
-
- All Implemented Interfaces:
Styleable
,EventTarget
,Skinnable
public abstract class GeoView extends Control
A base class for all views that can display geographic content.Subclasses can display the content in either 2D (
MapView
) or 3D (SceneView
); these derived classes must only be created and used on the UI thread. In an MVC architecture, this class and its subclasses represent the View tier. The Model tier is represented byGeoModel
, which supplies the geographic content as a map (ArcGISMap
) or a scene (ArcGISScene
).GeoView contains all the common operations and events that apply to displaying and working with maps and scenes. For example, you can change the viewable area by setting a
Viewpoint
, work with graphics in theGraphicsOverlay
, and identify aGeoElement
that displays in the view.- Since:
- 100.0.0
-
-
Property Summary
Properties Type Property Description ReadOnlyStringProperty
attributionText
The full attribution text, concatenated into a single string.BooleanProperty
attributionTextVisible
If attribution text is visible.ReadOnlyDoubleProperty
attributionTop
Returns a read-only property containing the distance from the top of the view to the top of the attribution text.ReadOnlyObjectProperty<DrawStatus>
drawStatus
The current draw status.BooleanProperty
enableKeyboardNavigation
If true keyboard navigation is enabled.BooleanProperty
enableMousePan
If true mouse panning is enabled.BooleanProperty
enableMouseZoom
If true mouse wheel zooming is enabled.BooleanProperty
enableTouchPan
If true touch panning is enabled.BooleanProperty
enableTouchRotate
If true touch rotate is enabled.BooleanProperty
enableTouchZoom
If true touch zoom (pinch) is enabled.ObjectProperty<ViewLabelProperties>
labeling
The view label properties.ReadOnlyBooleanProperty
navigating
Is the GeoView currently navigating.ReadOnlyObjectProperty<SelectionProperties>
selectionProperties
An object containing selection properties that are applied to the GeoView.ReadOnlyObjectProperty<SpatialReference>
spatialReference
The spatial reference defines the coordinate system used by the map or scene in the GeoView.-
Properties inherited from class javafx.scene.control.Control
contextMenu, skin, tooltip
-
Properties inherited from class javafx.scene.layout.Region
background, border, cacheShape, centerShape, height, insets, maxHeight, maxWidth, minHeight, minWidth, opaqueInsets, padding, prefHeight, prefWidth, scaleShape, shape, snapToPixel, width
-
Properties inherited from class javafx.scene.Parent
needsLayout
-
Properties inherited from class javafx.scene.Node
accessibleHelp, accessibleRoleDescription, accessibleRole, accessibleText, blendMode, boundsInLocal, boundsInParent, cacheHint, cache, clip, cursor, depthTest, disabled, disable, effectiveNodeOrientation, effect, eventDispatcher, focused, focusTraversable, hover, id, inputMethodRequests, layoutBounds, layoutX, layoutY, localToParentTransform, localToSceneTransform, managed, mouseTransparent, nodeOrientation, onContextMenuRequested, onDragDetected, onDragDone, onDragDropped, onDragEntered, onDragExited, onDragOver, onInputMethodTextChanged, onKeyPressed, onKeyReleased, onKeyTyped, onMouseClicked, onMouseDragEntered, onMouseDragExited, onMouseDragged, onMouseDragOver, onMouseDragReleased, onMouseEntered, onMouseExited, onMouseMoved, onMousePressed, onMouseReleased, onRotate, onRotationFinished, onRotationStarted, onScrollFinished, onScroll, onScrollStarted, onSwipeDown, onSwipeLeft, onSwipeRight, onSwipeUp, onTouchMoved, onTouchPressed, onTouchReleased, onTouchStationary, onZoomFinished, onZoom, onZoomStarted, opacity, parent, pickOnBounds, pressed, rotate, rotationAxis, scaleX, scaleY, scaleZ, scene, style, translateX, translateY, translateZ, viewOrder, visible
-
-
Field Summary
-
Fields inherited from class javafx.scene.layout.Region
USE_COMPUTED_SIZE, USE_PREF_SIZE
-
Fields inherited from class javafx.scene.Node
BASELINE_OFFSET_SAME_AS_HEIGHT
-
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Deprecated Methods Modifier and Type Method Description void
addAttributionTextChangedListener(AttributionTextChangedListener listener)
Deprecated, for removal: This API element is subject to removal in a future version.As of 200.0.0, useObservableValue.addListener(ChangeListener)
onattributionTextProperty()
.void
addDrawStatusChangedListener(DrawStatusChangedListener listener)
Deprecated, for removal: This API element is subject to removal in a future version.As of 200.0.0, useObservableValue.addListener(ChangeListener)
ondrawStatusProperty()
.void
addLayerViewStateChangedListener(LayerViewStateChangedListener listener)
Adds a listener for changes to layer view state.void
addNavigationChangedListener(NavigationChangedListener listener)
Deprecated, for removal: This API element is subject to removal in a future version.As of 200.0.0, useObservableValue.addListener(ChangeListener)
onnavigatingProperty()
.void
addSpatialReferenceChangedListener(SpatialReferenceChangedListener listener)
Deprecated, for removal: This API element is subject to removal in a future version.As of 200.0.0, useObservableValue.addListener(ChangeListener)
onspatialReferenceProperty()
.void
addTimeExtentChangedListener(TimeExtentChangedListener listener)
Registers aTimeExtentChangedListener
to be called when the time extent of the GeoView is changed.void
addViewpointChangedListener(ViewpointChangedListener listener)
Adds a ViewpointChangedListener.ReadOnlyStringProperty
attributionTextProperty()
The full attribution text, concatenated into a single string.BooleanProperty
attributionTextVisibleProperty()
If attribution text is visible.ReadOnlyDoubleProperty
attributionTopProperty()
Returns a read-only property containing the distance from the top of the view to the top of the attribution text.protected Skin<?>
createDefaultSkin()
void
dispose()
Dispose the GeoViewReadOnlyObjectProperty<DrawStatus>
drawStatusProperty()
The current draw status.BooleanProperty
enableKeyboardNavigationProperty()
If true keyboard navigation is enabled.BooleanProperty
enableMousePanProperty()
If true mouse panning is enabled.BooleanProperty
enableMouseZoomProperty()
If true mouse wheel zooming is enabled.BooleanProperty
enableTouchPanProperty()
If true touch panning is enabled.BooleanProperty
enableTouchRotateProperty()
If true touch rotate is enabled.BooleanProperty
enableTouchZoomProperty()
If true touch zoom (pinch) is enabled.ListenableFuture<Image>
exportImageAsync()
Asynchronously exports an image snapshot of the current GeoView.java.lang.String
getAttributionText()
Gets the attribution text for the data that is currently displayed in the GeoView.double
getAttributionTop()
Returns the distance from the top of the view to the top of the attribution text.Callout
getCallout()
Gets the Callout for this GeoView.Viewpoint
getCurrentViewpoint(Viewpoint.Type viewpointType)
Retrieves the currentViewpoint
of the GeoView.DrawStatus
getDrawStatus()
Gets the current drawing status of the content displayed in the GeoView.ListenableList<GraphicsOverlay>
getGraphicsOverlays()
Gets a collection ofGraphicsOverlay
objects used to display graphics on top of the view's content.InteractionListener
getInteractionListener()
Gets the current interaction listener.ViewLabelProperties
getLabeling()
Gets the view label properties.SelectionProperties
getSelectionProperties()
Gets the selection properties for all graphic overlays and selectable layers within the GeoView.abstract SpatialReference
getSpatialReference()
Gets the spatial reference.TimeExtent
getTimeExtent()
Gets the current time extent.LayerViewState
getViewStateForLayer(Layer layer)
Retrieves the layer's state in the GeoView.ListenableFuture<IdentifyGraphicsOverlayResult>
identifyGraphicsOverlayAsync(GraphicsOverlay graphicsOverlay, Point2D screenPoint, double tolerance, boolean returnPopupsOnly)
Asynchronously identifies the topmost visible graphic in the given graphics overlay, near given JavaFX local coordinate system point.ListenableFuture<IdentifyGraphicsOverlayResult>
identifyGraphicsOverlayAsync(GraphicsOverlay graphicsOverlay, Point2D screenPoint, double tolerance, boolean returnPopupsOnly, int maximumResults)
Identifies a limited number of graphics in the specified graphics overlay, at the given screen point.ListenableFuture<java.util.List<IdentifyGraphicsOverlayResult>>
identifyGraphicsOverlaysAsync(Point2D screenPoint, double tolerance, boolean returnPopupsOnly)
Identifies the topmost graphic in each graphics overlay, at the given screen point.ListenableFuture<java.util.List<IdentifyGraphicsOverlayResult>>
identifyGraphicsOverlaysAsync(Point2D screenPoint, double tolerance, boolean returnPopupsOnly, int maximumResults)
Identifies a limited number of graphics in all graphics overlays, at the given screen point.ListenableFuture<IdentifyLayerResult>
identifyLayerAsync(Layer layer, Point2D screenPoint, double tolerance, boolean returnPopupsOnly)
Identifies the topmost geoelement in the specified layer or sublayer, at the given screen point.ListenableFuture<IdentifyLayerResult>
identifyLayerAsync(Layer layer, Point2D screenPoint, double tolerance, boolean returnPopupsOnly, int maximumResults)
Identifies a limited number of geoelements in the specified layer or sublayer, at the given screen point.ListenableFuture<java.util.List<IdentifyLayerResult>>
identifyLayersAsync(Point2D screenPoint, double tolerance, boolean returnPopupsOnly)
Identifies the topmost geoelements at the given screen point, in each identifiable layer or sublayer in the GeoView'sArcGISMap
orArcGISScene
.ListenableFuture<java.util.List<IdentifyLayerResult>>
identifyLayersAsync(Point2D screenPoint, double tolerance, boolean returnPopupsOnly, int maximumResults)
Identifies a limited number of geoelements at the given screen point, in each identifiable layer or sublayer in the GeoView'sArcGISMap
orArcGISScene
.boolean
isAttributionTextVisible()
True if attribution text is visible in the GeoView, false otherwise.boolean
isEnableKeyboardNavigation()
Returns true if keyboard navigation is enabled, otherwise false.boolean
isEnableMousePan()
Returns true if mouse pan is enabled, otherwise false.boolean
isEnableMouseZoom()
Returns true if mouse wheel zoom is enabled, otherwise false.boolean
isEnableTouchPan()
Returns true if touch pan is enabled, otherwise false.boolean
isEnableTouchRotate()
Returns true if touch rotate is enabled, otherwise false.boolean
isEnableTouchZoom()
Returns true if touch zoom (pinch) is enabled, otherwise false.boolean
isNavigating()
True if the GeoView is animating a viewpoint change or a navigation gesture is in progress, otherwise false.boolean
isResizable()
boolean
isWrapAroundEnabled()
True if continuous panning across the international date line is enabled in the GeoView, false otherwise.ObjectProperty<ViewLabelProperties>
labelingProperty()
The view label properties.ReadOnlyBooleanProperty
navigatingProperty()
Is the GeoView currently navigating.boolean
removeAttributionTextChangedListener(AttributionTextChangedListener listener)
Deprecated, for removal: This API element is subject to removal in a future version.As of 200.0.0, useObservableValue.addListener(ChangeListener)
onattributionTextProperty()
.boolean
removeDrawStatusChangedListener(DrawStatusChangedListener listener)
Deprecated, for removal: This API element is subject to removal in a future version.As of 200.0.0, useObservableValue.addListener(ChangeListener)
ondrawStatusProperty()
.boolean
removeLayerViewStateChangedListener(LayerViewStateChangedListener listener)
Removes a layer view state listener.boolean
removeNavigationChangedListener(NavigationChangedListener listener)
Deprecated, for removal: This API element is subject to removal in a future version.As of 200.0.0, useObservableValue.addListener(ChangeListener)
onnavigatingProperty()
.boolean
removeSpatialReferenceChangedListener(SpatialReferenceChangedListener listener)
Deprecated, for removal: This API element is subject to removal in a future version.As of 200.0.0, useObservableValue.addListener(ChangeListener)
onspatialReferenceProperty()
.boolean
removeTimeExtentChangedListener(TimeExtentChangedListener listener)
Unregisters aTimeExtentChangedListener
that was previously added usingaddTimeExtentChangedListener(TimeExtentChangedListener)
.boolean
removeViewpointChangedListener(ViewpointChangedListener listener)
Removes a ViewpointChangedListener.ReadOnlyObjectProperty<SelectionProperties>
selectionPropertiesProperty()
An object containing selection properties that are applied to the GeoView.void
setAttributionTextVisible(boolean visible)
Sets the visibility of the Esri attribution text.ListenableFuture<java.lang.Boolean>
setBookmarkAsync(Bookmark bookmark)
Sets theViewpoint
of the GeoView to theBookmark.getViewpoint()
.void
setEnableKeyboardNavigation(boolean enable)
Enables or disables keyboard navigation.void
setEnableMousePan(boolean enable)
Enables or disables mouse panning.void
setEnableMouseZoom(boolean enable)
Enables or disables mouse wheel zooming.void
setEnableTouchPan(boolean enable)
Enables or disables touch panning.void
setEnableTouchRotate(boolean enable)
Enables or disables touch rotate.void
setEnableTouchZoom(boolean enable)
Enables or disables touch zoom (pinch).void
setInteractionListener(InteractionListener interactionListener)
Sets the listener to handle input interactions on the GeoView.void
setLabeling(ViewLabelProperties viewLabelProperties)
Sets the view label properties.void
setTimeExtent(TimeExtent timeExtent)
Sets the time extent of the GeoView.void
setViewpoint(Viewpoint viewpoint)
Pan or zoom the GeoView to the specifiedViewpoint
location.ListenableFuture<java.lang.Boolean>
setViewpointAsync(Viewpoint viewpoint)
Pan or zoom the GeoView using animation to the specifiedViewpoint
location, asynchronously.ListenableFuture<java.lang.Boolean>
setViewpointAsync(Viewpoint viewpoint, float durationSeconds)
Pan or zoom the GeoView using animation to the specifiedViewpoint
location.ReadOnlyObjectProperty<SpatialReference>
spatialReferenceProperty()
The spatial reference defines the coordinate system used by the map or scene in the GeoView.-
Methods inherited from class javafx.scene.control.Control
computeMaxHeight, computeMaxWidth, computeMinHeight, computeMinWidth, computePrefHeight, computePrefWidth, contextMenuProperty, executeAccessibleAction, getBaselineOffset, getClassCssMetaData, getContextMenu, getControlCssMetaData, getCssMetaData, getInitialFocusTraversable, getSkin, getTooltip, layoutChildren, queryAccessibleAttribute, setContextMenu, setSkin, setTooltip, skinProperty, tooltipProperty
-
Methods inherited from class javafx.scene.layout.Region
backgroundProperty, borderProperty, cacheShapeProperty, centerShapeProperty, getBackground, getBorder, getHeight, getInsets, getMaxHeight, getMaxWidth, getMinHeight, getMinWidth, getOpaqueInsets, getPadding, getPrefHeight, getPrefWidth, getShape, getUserAgentStylesheet, getWidth, heightProperty, insetsProperty, isCacheShape, isCenterShape, isScaleShape, isSnapToPixel, layoutInArea, layoutInArea, layoutInArea, layoutInArea, maxHeight, maxHeightProperty, maxWidth, maxWidthProperty, minHeight, minHeightProperty, minWidth, minWidthProperty, opaqueInsetsProperty, paddingProperty, positionInArea, positionInArea, prefHeight, prefHeightProperty, prefWidth, prefWidthProperty, resize, scaleShapeProperty, setBackground, setBorder, setCacheShape, setCenterShape, setHeight, setMaxHeight, setMaxSize, setMaxWidth, setMinHeight, setMinSize, setMinWidth, setOpaqueInsets, setPadding, setPrefHeight, setPrefSize, setPrefWidth, setScaleShape, setShape, setSnapToPixel, setWidth, shapeProperty, snappedBottomInset, snappedLeftInset, snappedRightInset, snappedTopInset, snapPosition, snapPositionX, snapPositionY, snapSize, snapSizeX, snapSizeY, snapSpace, snapSpaceX, snapSpaceY, snapToPixelProperty, widthProperty
-
Methods inherited from class javafx.scene.Parent
getChildren, getChildrenUnmodifiable, getManagedChildren, getStylesheets, isNeedsLayout, layout, lookup, needsLayoutProperty, requestLayout, requestParentLayout, setNeedsLayout, updateBounds
-
Methods inherited from class javafx.scene.Node
accessibleHelpProperty, accessibleRoleDescriptionProperty, accessibleRoleProperty, accessibleTextProperty, addEventFilter, addEventHandler, applyCss, autosize, blendModeProperty, boundsInLocalProperty, boundsInParentProperty, buildEventDispatchChain, cacheHintProperty, cacheProperty, clipProperty, computeAreaInScreen, contains, contains, cursorProperty, depthTestProperty, disabledProperty, disableProperty, effectiveNodeOrientationProperty, effectProperty, eventDispatcherProperty, fireEvent, focusedProperty, focusTraversableProperty, getAccessibleHelp, getAccessibleRole, getAccessibleRoleDescription, getAccessibleText, getBlendMode, getBoundsInLocal, getBoundsInParent, getCacheHint, getClip, getContentBias, getCursor, getDepthTest, getEffect, getEffectiveNodeOrientation, getEventDispatcher, getId, getInitialCursor, getInputMethodRequests, getLayoutBounds, getLayoutX, getLayoutY, getLocalToParentTransform, getLocalToSceneTransform, getNodeOrientation, getOnContextMenuRequested, getOnDragDetected, getOnDragDone, getOnDragDropped, getOnDragEntered, getOnDragExited, getOnDragOver, getOnInputMethodTextChanged, getOnKeyPressed, getOnKeyReleased, getOnKeyTyped, getOnMouseClicked, getOnMouseDragEntered, getOnMouseDragExited, getOnMouseDragged, getOnMouseDragOver, getOnMouseDragReleased, getOnMouseEntered, getOnMouseExited, getOnMouseMoved, getOnMousePressed, getOnMouseReleased, getOnRotate, getOnRotationFinished, getOnRotationStarted, getOnScroll, getOnScrollFinished, getOnScrollStarted, getOnSwipeDown, getOnSwipeLeft, getOnSwipeRight, getOnSwipeUp, getOnTouchMoved, getOnTouchPressed, getOnTouchReleased, getOnTouchStationary, getOnZoom, getOnZoomFinished, getOnZoomStarted, getOpacity, getParent, getProperties, getPseudoClassStates, getRotate, getRotationAxis, getScaleX, getScaleY, getScaleZ, getScene, getStyle, getStyleableParent, getStyleClass, getTransforms, getTranslateX, getTranslateY, getTranslateZ, getTypeSelector, getUserData, getViewOrder, hasProperties, hoverProperty, idProperty, inputMethodRequestsProperty, intersects, intersects, isCache, isDisable, isDisabled, isFocused, isFocusTraversable, isHover, isManaged, isMouseTransparent, isPickOnBounds, isPressed, isVisible, layoutBoundsProperty, layoutXProperty, layoutYProperty, localToParent, localToParent, localToParent, localToParent, localToParent, localToParentTransformProperty, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToSceneTransformProperty, localToScreen, localToScreen, localToScreen, localToScreen, localToScreen, lookupAll, managedProperty, mouseTransparentProperty, nodeOrientationProperty, notifyAccessibleAttributeChanged, onContextMenuRequestedProperty, onDragDetectedProperty, onDragDoneProperty, onDragDroppedProperty, onDragEnteredProperty, onDragExitedProperty, onDragOverProperty, onInputMethodTextChangedProperty, onKeyPressedProperty, onKeyReleasedProperty, onKeyTypedProperty, onMouseClickedProperty, onMouseDragEnteredProperty, onMouseDragExitedProperty, onMouseDraggedProperty, onMouseDragOverProperty, onMouseDragReleasedProperty, onMouseEnteredProperty, onMouseExitedProperty, onMouseMovedProperty, onMousePressedProperty, onMouseReleasedProperty, onRotateProperty, onRotationFinishedProperty, onRotationStartedProperty, onScrollFinishedProperty, onScrollProperty, onScrollStartedProperty, onSwipeDownProperty, onSwipeLeftProperty, onSwipeRightProperty, onSwipeUpProperty, onTouchMovedProperty, onTouchPressedProperty, onTouchReleasedProperty, onTouchStationaryProperty, onZoomFinishedProperty, onZoomProperty, onZoomStartedProperty, opacityProperty, parentProperty, parentToLocal, parentToLocal, parentToLocal, parentToLocal, parentToLocal, pickOnBoundsProperty, pressedProperty, pseudoClassStateChanged, relocate, removeEventFilter, removeEventHandler, requestFocus, resizeRelocate, rotateProperty, rotationAxisProperty, scaleXProperty, scaleYProperty, scaleZProperty, sceneProperty, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, screenToLocal, screenToLocal, screenToLocal, setAccessibleHelp, setAccessibleRole, setAccessibleRoleDescription, setAccessibleText, setBlendMode, setCache, setCacheHint, setClip, setCursor, setDepthTest, setDisable, setDisabled, setEffect, setEventDispatcher, setEventHandler, setFocused, setFocusTraversable, setHover, setId, setInputMethodRequests, setLayoutX, setLayoutY, setManaged, setMouseTransparent, setNodeOrientation, setOnContextMenuRequested, setOnDragDetected, setOnDragDone, setOnDragDropped, setOnDragEntered, setOnDragExited, setOnDragOver, setOnInputMethodTextChanged, setOnKeyPressed, setOnKeyReleased, setOnKeyTyped, setOnMouseClicked, setOnMouseDragEntered, setOnMouseDragExited, setOnMouseDragged, setOnMouseDragOver, setOnMouseDragReleased, setOnMouseEntered, setOnMouseExited, setOnMouseMoved, setOnMousePressed, setOnMouseReleased, setOnRotate, setOnRotationFinished, setOnRotationStarted, setOnScroll, setOnScrollFinished, setOnScrollStarted, setOnSwipeDown, setOnSwipeLeft, setOnSwipeRight, setOnSwipeUp, setOnTouchMoved, setOnTouchPressed, setOnTouchReleased, setOnTouchStationary, setOnZoom, setOnZoomFinished, setOnZoomStarted, setOpacity, setPickOnBounds, setPressed, setRotate, setRotationAxis, setScaleX, setScaleY, setScaleZ, setStyle, setTranslateX, setTranslateY, setTranslateZ, setUserData, setViewOrder, setVisible, snapshot, snapshot, startDragAndDrop, startFullDrag, styleProperty, toBack, toFront, toString, translateXProperty, translateYProperty, translateZProperty, usesMirroring, viewOrderProperty, visibleProperty
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface javafx.css.Styleable
getStyleableNode
-
-
-
-
Property Detail
-
attributionTop
public ReadOnlyDoubleProperty attributionTopProperty
Returns a read-only property containing the distance from the top of the view to the top of the attribution text. This can be used to position nodes on the view such that they don't obscure the attribution. If the attribution text is not visible then the value will be the distance from the top of the view to the bottom of the displayed map or scene. You can check the visibility of the attribution text withattributionTextVisibleProperty()
.- Since:
- 100.1.0
- See Also:
getAttributionTop()
-
spatialReference
public ReadOnlyObjectProperty<SpatialReference> spatialReferenceProperty
The spatial reference defines the coordinate system used by the map or scene in the GeoView.The
SpatialReference
is used to relate map coordinates to locations in the real world. This property is available when the view's map or scene has been loaded.The value is null until the
GeoModel.getLoadStatus()
orGeoModel.getLoadStatus()
is loaded and thegetDrawStatus()
is complete.- Since:
- 200.0.0
- See Also:
getSpatialReference()
-
drawStatus
public ReadOnlyObjectProperty<DrawStatus> drawStatusProperty
The current draw status.- Since:
- 200.0.0
- See Also:
getDrawStatus()
-
navigating
public ReadOnlyBooleanProperty navigatingProperty
Is the GeoView currently navigating.- Since:
- 200.0.0
- See Also:
isNavigating()
-
selectionProperties
public ReadOnlyObjectProperty<SelectionProperties> selectionPropertiesProperty
An object containing selection properties that are applied to the GeoView.This object allows configuration of new selection highlighting functionality such as selection promotion and switchable selection halo.
Notes on per-layer selection coloring (supported in 2D only):
- The deprecated per-layer selection coloring functionality is initially enabled.
- If the GeoView's SelectionProperties are touched, per-layer selection coloring is then disabled for the lifetime of the view (here, 'touched' means replacing the view's SelectionProperties, or calling a setter property on the view's SelectionProperties).
- Use of per-layer selection coloring is deprecated and may have a detrimental impact on rendering performance.
- When per-layer coloring is enabled and more than one selection color is configured, selection halo will be disabled.
- To enable selection halo or promotion, set the properties to true. Again, this will automatically disable per-layer selection coloring for the lifetime of the view.
- Since:
- 200.0.0
- See Also:
getSelectionProperties()
-
enableMouseZoom
public BooleanProperty enableMouseZoomProperty
If true mouse wheel zooming is enabled.- See Also:
isEnableMouseZoom()
,setEnableMouseZoom(boolean)
-
enableMousePan
public BooleanProperty enableMousePanProperty
If true mouse panning is enabled.- See Also:
isEnableMousePan()
,setEnableMousePan(boolean)
-
enableKeyboardNavigation
public BooleanProperty enableKeyboardNavigationProperty
If true keyboard navigation is enabled.
-
enableTouchPan
public BooleanProperty enableTouchPanProperty
If true touch panning is enabled.- See Also:
isEnableTouchPan()
,setEnableTouchPan(boolean)
-
enableTouchZoom
public BooleanProperty enableTouchZoomProperty
If true touch zoom (pinch) is enabled.- See Also:
isEnableTouchZoom()
,setEnableTouchZoom(boolean)
-
enableTouchRotate
public BooleanProperty enableTouchRotateProperty
If true touch rotate is enabled.
-
attributionTextVisible
public BooleanProperty attributionTextVisibleProperty
If attribution text is visible.- Since:
- 100.0.0
- See Also:
isAttributionTextVisible()
,setAttributionTextVisible(boolean)
-
attributionText
public ReadOnlyStringProperty attributionTextProperty
The full attribution text, concatenated into a single string.- Since:
- 200.0.0
- See Also:
getAttributionText()
-
labeling
public ObjectProperty<ViewLabelProperties> labelingProperty
The view label properties.The view label properties are an overall control for whether labels will be created and displayed for layers added to the view. Individual layers can also control whether labels should be displayed for their features. Labels need to be enabled both in the view and in the layer. By default the labeling for a view is enabled. The view label properties also control global aspects of the label appearance, for example animation effects.
Must not be set to null.
- Since:
- 200.0.0
- See Also:
getLabeling()
,setLabeling(ViewLabelProperties)
-
-
Method Detail
-
createDefaultSkin
protected Skin<?> createDefaultSkin()
- Overrides:
createDefaultSkin
in classControl
-
attributionTopProperty
public ReadOnlyDoubleProperty attributionTopProperty()
Returns a read-only property containing the distance from the top of the view to the top of the attribution text. This can be used to position nodes on the view such that they don't obscure the attribution. If the attribution text is not visible then the value will be the distance from the top of the view to the bottom of the displayed map or scene. You can check the visibility of the attribution text withattributionTextVisibleProperty()
.- Since:
- 100.1.0
- See Also:
getAttributionTop()
-
getAttributionTop
public double getAttributionTop()
Returns the distance from the top of the view to the top of the attribution text. This can be used to position nodes on the view such that they don't obscure the attribution. If the attribution text is not visible then the distance returned will be the distance from the top of the view to the bottom of the displayed map or scene. You can check the visibility of the attribution text withattributionTextVisibleProperty()
.- Returns:
- the distance to the attribution top, or the bottom of the map or scene if attribution is not visible
- Since:
- 100.1.0
-
spatialReferenceProperty
public ReadOnlyObjectProperty<SpatialReference> spatialReferenceProperty()
The spatial reference defines the coordinate system used by the map or scene in the GeoView.The
SpatialReference
is used to relate map coordinates to locations in the real world. This property is available when the view's map or scene has been loaded.The value is null until the
GeoModel.getLoadStatus()
orGeoModel.getLoadStatus()
is loaded and thegetDrawStatus()
is complete.- Since:
- 200.0.0
- See Also:
getSpatialReference()
-
getSpatialReference
public abstract SpatialReference getSpatialReference()
Gets the spatial reference.- Returns:
- the spatial reference
- Since:
- 100.0.0
-
drawStatusProperty
public ReadOnlyObjectProperty<DrawStatus> drawStatusProperty()
The current draw status.- Since:
- 200.0.0
- See Also:
getDrawStatus()
-
getDrawStatus
public DrawStatus getDrawStatus()
Gets the current drawing status of the content displayed in the GeoView.New content is drawn every time a user pans or zooms the view, or the app programmatically changes its visible area. There is a short delay before this drawing phase completes. You can use
getDrawStatus()
to detect whether this drawing phase is in progress or has completed. For example, you may want to take a screen capture of a view's visible area (exportImageAsync()
) when drawing is completed.- Returns:
- the current drawing status of the content displayed in the GeoView
- Since:
- 100.0.0
-
navigatingProperty
public ReadOnlyBooleanProperty navigatingProperty()
Is the GeoView currently navigating.- Since:
- 200.0.0
- See Also:
isNavigating()
-
isNavigating
public boolean isNavigating()
True if the GeoView is animating a viewpoint change or a navigation gesture is in progress, otherwise false.Indicates if the
Viewpoint
of a GeoView is currently changing. This can be due to a programmatic animated change to theViewpoint
, or user interaction with the view, such as panning and zooming.- Returns:
- true if the GeoView is animating a viewpoint change or a navigation gesture is in progress, otherwise false
- Since:
- 100.0.0
-
isWrapAroundEnabled
public boolean isWrapAroundEnabled()
True if continuous panning across the international date line is enabled in the GeoView, false otherwise.By default, a GeoView attempts to wrap the
ArcGISMap
orArcGISScene
across the international date line for a continuous panning user experience. The eastern and western hemispheres wrap to form a continuous map, giving the impression that the map is endless.Wraparound display is always enabled for a
SceneView
.To disable wraparound behavior for a
MapView
(or to reenable it), you can set theMapView.setWrapAroundMode(WrapAroundMode)
to the appropriate value. Wraparound can only be applied to aMapView
if certain conditions are met, as described inWrapAroundMode.ENABLE_WHEN_SUPPORTED
.If wraparound is enabled, geometries returned from
MapView.getVisibleArea()
may have coordinates outside the domain of the spatial reference of the map. Before using such geometries to perform spatial queries, address finding, or as feature geometries in a geodatabase, you must normalize them to lie within the spatial reference domain usingGeometryEngine.normalizeCentralMeridian(Geometry)
.- Returns:
- true if continuous panning across the international date line is enabled in the GeoView, false otherwise
- Since:
- 100.0.0
-
setViewpoint
public void setViewpoint(Viewpoint viewpoint)
Pan or zoom the GeoView to the specifiedViewpoint
location.In a MapView, only the geometry/location and scale properties of the viewpoint are used.
In a SceneView the
Camera
of the viewpoint is used first; if there is no Camera, the geometry/location and scale properties are used to calculate an approximate Camera. For SceneView, you could also useSceneView.setViewpointCamera(com.esri.arcgisruntime.mapping.view.Camera)
.- Parameters:
viewpoint
- the new viewpoint- Throws:
java.lang.IllegalArgumentException
- if the argument is null- Since:
- 100.0.0
-
getCurrentViewpoint
public Viewpoint getCurrentViewpoint(Viewpoint.Type viewpointType)
Retrieves the currentViewpoint
of the GeoView.This takes into account the attribution bar if it is visible. See
isAttributionTextVisible()
.For a MapView, the
Camera
of the viewpoint will always be null.For a SceneView the Camera will never be null.
- Parameters:
viewpointType
- the viewpoint type- Returns:
- the current viewpoint
- Throws:
java.lang.IllegalArgumentException
- if the argument is null- Since:
- 100.0.0
-
setViewpointAsync
public ListenableFuture<java.lang.Boolean> setViewpointAsync(Viewpoint viewpoint)
Pan or zoom the GeoView using animation to the specifiedViewpoint
location, asynchronously.- Parameters:
viewpoint
- the new viewpoint- Returns:
- a ListenableFuture whose result indicates if the operation completed successfully or not. Add a listener to this to know when the viewpoint has finished animating.
- Throws:
java.lang.IllegalArgumentException
- if the argument is null- Since:
- 100.0.0
- See Also:
setViewpoint(com.esri.arcgisruntime.mapping.Viewpoint)
-
setViewpointAsync
public ListenableFuture<java.lang.Boolean> setViewpointAsync(Viewpoint viewpoint, float durationSeconds)
Pan or zoom the GeoView using animation to the specifiedViewpoint
location. Animation takes place over the specified duration.- Parameters:
viewpoint
- the viewpointdurationSeconds
- the duration seconds- Returns:
- a ListenableFuture whose result indicates if the operation completed successfully or not. Add a listener to this to know when the viewpoint has finished animating.
- Throws:
java.lang.IllegalArgumentException
- if the viewpoint is null- Since:
- 100.0.0
-
getViewStateForLayer
public LayerViewState getViewStateForLayer(Layer layer)
Retrieves the layer's state in the GeoView.- Parameters:
layer
- a layer object for which to get the view state- Returns:
- the current state of a layer in a view
- Throws:
ArcGISRuntimeException
- if layer isn't foundjava.lang.IllegalArgumentException
- if layer is null- Since:
- 100.10.0
-
addDrawStatusChangedListener
@Deprecated(since="200.0.0", forRemoval=true) public void addDrawStatusChangedListener(DrawStatusChangedListener listener)
Deprecated, for removal: This API element is subject to removal in a future version.As of 200.0.0, useObservableValue.addListener(ChangeListener)
ondrawStatusProperty()
.Adds a draw status changed listener.This listener will be invoked on the UI thread if it is added from the UI thread, otherwise it is not guaranteed on which thread the listener is invoked.
- Parameters:
listener
- the listener- Throws:
java.lang.NullPointerException
- if the argument is null- Since:
- 100.0.0
-
removeDrawStatusChangedListener
@Deprecated(since="200.0.0", forRemoval=true) public boolean removeDrawStatusChangedListener(DrawStatusChangedListener listener)
Deprecated, for removal: This API element is subject to removal in a future version.As of 200.0.0, useObservableValue.addListener(ChangeListener)
ondrawStatusProperty()
.Removes a draw status changed listener.- Parameters:
listener
- the listener- Returns:
- true if listener successfully removed, false otherwise
- Throws:
java.lang.NullPointerException
- if the argument is null- Since:
- 100.0.0
-
addSpatialReferenceChangedListener
@Deprecated(since="200.0.0", forRemoval=true) public void addSpatialReferenceChangedListener(SpatialReferenceChangedListener listener)
Deprecated, for removal: This API element is subject to removal in a future version.As of 200.0.0, useObservableValue.addListener(ChangeListener)
onspatialReferenceProperty()
.Adds a listener for changes to theSpatialReference
.This listener will be invoked on the UI thread if it is added from the UI thread, otherwise it is not guaranteed on which thread the listener is invoked.
- Parameters:
listener
- the listener- Throws:
java.lang.NullPointerException
- if the argument is null- Since:
- 100.0.0
-
removeSpatialReferenceChangedListener
@Deprecated(since="200.0.0", forRemoval=true) public boolean removeSpatialReferenceChangedListener(SpatialReferenceChangedListener listener)
Deprecated, for removal: This API element is subject to removal in a future version.As of 200.0.0, useObservableValue.addListener(ChangeListener)
onspatialReferenceProperty()
.Removes aSpatialReference
changed listener.- Parameters:
listener
- the listener- Returns:
- true, if successful
- Throws:
java.lang.NullPointerException
- if the argument is null- Since:
- 100.0.0
-
addNavigationChangedListener
@Deprecated(since="200.0.0", forRemoval=true) public void addNavigationChangedListener(NavigationChangedListener listener)
Deprecated, for removal: This API element is subject to removal in a future version.As of 200.0.0, useObservableValue.addListener(ChangeListener)
onnavigatingProperty()
.Adds a listener for when navigation has changed.This listener will be invoked on the UI thread if it is added from the UI thread, otherwise it is not guaranteed on which thread the listener is invoked.
- Parameters:
listener
- the listener- Throws:
java.lang.NullPointerException
- if the listener is null- Since:
- 100.0.0
-
removeNavigationChangedListener
@Deprecated(since="200.0.0", forRemoval=true) public boolean removeNavigationChangedListener(NavigationChangedListener listener)
Deprecated, for removal: This API element is subject to removal in a future version.As of 200.0.0, useObservableValue.addListener(ChangeListener)
onnavigatingProperty()
.Removes a navigation change listener.- Parameters:
listener
- the listener- Returns:
- true, if successful
- Throws:
java.lang.NullPointerException
- if the listener is null- Since:
- 100.0.0
-
addLayerViewStateChangedListener
public void addLayerViewStateChangedListener(LayerViewStateChangedListener listener)
Adds a listener for changes to layer view state.This listener will be invoked on the UI thread if it is added from the UI thread, otherwise it is not guaranteed on which thread the listener is invoked.
- Parameters:
listener
- the listener- Throws:
java.lang.NullPointerException
- if the argument is null- Since:
- 100.0.0
-
removeLayerViewStateChangedListener
public boolean removeLayerViewStateChangedListener(LayerViewStateChangedListener listener)
Removes a layer view state listener.- Parameters:
listener
- the listener- Returns:
- true, if successful
- Throws:
java.lang.NullPointerException
- if the argument is null- Since:
- 100.0.0
-
addViewpointChangedListener
public void addViewpointChangedListener(ViewpointChangedListener listener)
Adds a ViewpointChangedListener.This listener will fire when the Viewpoint of this GeoView has changed.
This listener will be invoked on the UI thread if it is added from the UI thread, otherwise it is not guaranteed on which thread the listener is invoked.
- Parameters:
listener
- the ViewpointChangedListener to add- Throws:
java.lang.IllegalArgumentException
- if listener is null- Since:
- 100.0.0
- See Also:
removeViewpointChangedListener(com.esri.arcgisruntime.mapping.view.ViewpointChangedListener)
-
removeViewpointChangedListener
public boolean removeViewpointChangedListener(ViewpointChangedListener listener)
Removes a ViewpointChangedListener.- Parameters:
listener
- the ViewpointChangedListener to remove- Returns:
- true, if successful
- Since:
- 100.0.0
- See Also:
addViewpointChangedListener(com.esri.arcgisruntime.mapping.view.ViewpointChangedListener)
-
isResizable
public boolean isResizable()
- Overrides:
isResizable
in classControl
-
getGraphicsOverlays
public ListenableList<GraphicsOverlay> getGraphicsOverlays()
Gets a collection ofGraphicsOverlay
objects used to display graphics on top of the view's content.To display graphics in the GeoView, add the graphics to a
GraphicsOverlay
and add theGraphicsOverlay
to this collection. The order of theGraphicsOverlay
objects in the collection reflects their display order in the view. The firstGraphicsOverlay
in the collection is drawn beneath all other graphic overlays.This collection may be empty but is never null. You can't add duplicate
GraphicsOverlay
objects to the collection or use this graphics overlay collection in another GeoView.Use methods such as
identifyGraphicsOverlaysAsync(Point2D, double, boolean, int)
, to identify graphics in this collection.- Returns:
- a collection of
GraphicsOverlay
objects used to display graphics on top of the view's content - Since:
- 100.0.0
-
identifyGraphicsOverlayAsync
public ListenableFuture<IdentifyGraphicsOverlayResult> identifyGraphicsOverlayAsync(GraphicsOverlay graphicsOverlay, Point2D screenPoint, double tolerance, boolean returnPopupsOnly, int maximumResults)
Identifies a limited number of graphics in the specified graphics overlay, at the given screen point.As locations from user gestures are not always accurate to the exact pixel, you can define a tolerance for the identify operation. The tolerance parameter sets the radius of a circle, centered at the specified coordinates, in device-independent pixels (DIP). If the tolerance value is 0, identify performs the test at the specified coordinates. If it is greater than 0, identify tests inside the circle. For touch displays a value of 22 is recommended to cover an average finger tap. The maximum allowed value is 100 DIPs.
The returnPopupsOnly parameter controls which properties are populated in the
IdentifyGraphicsOverlayResult
instance. If true, onlyIdentifyGraphicsOverlayResult.getPopups()
is populated. If the overlay does not have popups an error is returned. If false, bothIdentifyGraphicsOverlayResult.getGraphics()
andIdentifyGraphicsOverlayResult.getPopups()
are populated, if the overlay has popups.- Parameters:
graphicsOverlay
- the graphics overlay in which to identify the graphicsscreenPoint
- the screen coordinates to identify the graphicstolerance
- a radius in device-independent pixels (DIP) that specifies how precise the identify operation should bereturnPopupsOnly
- true includes only popups in the identify results. False includes both graphics and popups in the results.maximumResults
- the maximum number of graphics and/or popups returned in theIdentifyGraphicsOverlayResult
. A value of -1 indicates unlimited results.- Returns:
- a ListenableFuture for tracking when the operation is done and getting the result;
Add a listener to the future to be notified when the identify operation is complete.
The result of the future is an
IdentifyGraphicsOverlayResult()
object if the operation completed successfully. - Throws:
ArcGISRuntimeException
- if screenPoint translates to a point outside the current viewpoint set to the GeoViewjava.lang.IllegalArgumentException
- if- graphicsOverlay is null
- screenPoint is null
- tolerance less than zero or greater than 100
- maximumResults is zero or less than -1
- Since:
- 100.0.0
-
identifyGraphicsOverlayAsync
public ListenableFuture<IdentifyGraphicsOverlayResult> identifyGraphicsOverlayAsync(GraphicsOverlay graphicsOverlay, Point2D screenPoint, double tolerance, boolean returnPopupsOnly)
Asynchronously identifies the topmost visible graphic in the given graphics overlay, near given JavaFX local coordinate system point.As locations from user gestures are not always accurate to the exact pixel, you can define a tolerance for the identify operation. The tolerance parameter sets the radius of a circle, centered at the specified coordinates, in device-independent pixels (DIP). If the tolerance value is 0, identify performs the test at the specified coordinates. If it is greater than 0, identify tests inside the circle. For touch displays a value of 22 is recommended to cover an average finger tap. The maximum allowed value is 100 DIPs.
The returnPopupsOnly parameter controls which properties are populated in the
IdentifyGraphicsOverlayResult
instance. If returnPopupsOnly is true,IdentifyGraphicsOverlayResult.getPopups()
is populated. If the overlay does not have popups an error is returned. If returnPopupsOnly is false, bothIdentifyGraphicsOverlayResult.getGraphics()
andIdentifyGraphicsOverlayResult.getPopups()
are populated, if the overlay has popups.- Parameters:
graphicsOverlay
- the graphics overlay in which to identify the graphicscreenPoint
- the JavaFX local screen coordinates to identify the graphictolerance
- a radius in device-independent pixels (DIP) that specifies how precise the identify operation should bereturnPopupsOnly
- true includes only a popup in the identify result. False includes both a graphic and a popup in the result.- Returns:
- a ListenableFuture for tracking when the operation is done and getting the result;
Add a listener to the future to be notified when the identify operation is complete.
The result of the future is an
IdentifyGraphicsOverlayResult
object if the operation completed successfully. - Throws:
ArcGISRuntimeException
- if screenPoint translates to a point outside the current viewpoint set to the GeoViewjava.lang.IllegalArgumentException
- if- graphicsOverlay is null
- screenPoint is null
- tolerance less than zero or greater than 100
- Since:
- 100.0.0
-
identifyGraphicsOverlaysAsync
public ListenableFuture<java.util.List<IdentifyGraphicsOverlayResult>> identifyGraphicsOverlaysAsync(Point2D screenPoint, double tolerance, boolean returnPopupsOnly, int maximumResults)
Identifies a limited number of graphics in all graphics overlays, at the given screen point.As locations from user gestures are not always accurate to the exact pixel, you can define a tolerance for the identify operation. The tolerance parameter sets the radius of a circle, centered at the specified coordinates, in device-independent pixels (DIP). If the tolerance value is 0, identify performs the test at the specified coordinates. If it is greater than 0, identify tests inside the circle. For touch displays a value of 22 is recommended to cover an average finger tap. The maximum allowed value is 100 DIPs.
The returnPopupsOnly parameter controls which properties are populated in the
IdentifyGraphicsOverlayResult
instance. If true, onlyIdentifyGraphicsOverlayResult.getPopups()
is populated. If the overlay does not have popups an error is returned. If false, bothIdentifyGraphicsOverlayResult.getGraphics()
andIdentifyGraphicsOverlayResult.getPopups()
are populated, if the overlay has popups.Results are returned in a top-to-bottom order.
- Parameters:
screenPoint
- the screen coordinates to identify the graphicstolerance
- a radius in device-independent pixels (DIP) that specifies how precise the identify operation should bereturnPopupsOnly
- true includes only popups in the identify results. False includes both graphics and popups in the results.maximumResults
- the maximum number of graphics and/or popups returned in theIdentifyGraphicsOverlayResult
per graphics overlay. A value of -1 indicates unlimited results.- Returns:
- a ListenableFuture for tracking when the operation is done and getting the result;
Add a listener to the future to be notified when the identify operation is complete.
The result of the future is a list of
IdentifyGraphicsOverlayResult
objects if the operation completed successfully. Results are returned in top-to-bottom order. - Throws:
ArcGISRuntimeException
- if screenPoint translates to a point outside the current viewpoint set to the GeoViewjava.lang.IllegalArgumentException
- if- screenPoint is null
- tolerance less than zero or greater than 100
- maximumResults is zero or less than -1
- Since:
- 100.0.0
-
identifyGraphicsOverlaysAsync
public ListenableFuture<java.util.List<IdentifyGraphicsOverlayResult>> identifyGraphicsOverlaysAsync(Point2D screenPoint, double tolerance, boolean returnPopupsOnly)
Identifies the topmost graphic in each graphics overlay, at the given screen point.Results are returned in the same order as the graphic overlays in the
getGraphicsOverlays()
collection.As locations from user gestures are not always accurate to the exact pixel, you can define a tolerance for the identify operation. The tolerance parameter sets the radius of a circle, centered at the specified coordinates, in device-independent pixels (DIP). If the tolerance value is 0, identify performs the test at the specified coordinates. If it is greater than 0, identify tests inside the circle. For touch displays a value of 22 is recommended to cover an average finger tap. The maximum allowed value is 100 DIPs.
The returnPopupsOnly parameter controls which properties are populated in the
IdentifyGraphicsOverlayResult
instance. If true, onlyIdentifyGraphicsOverlayResult.getPopups()
is populated. If the overlay does not have popups an error is returned. If false, bothIdentifyGraphicsOverlayResult.getGraphics()
andIdentifyGraphicsOverlayResult.getPopups()
are populated, if the overlay has popups.- Parameters:
screenPoint
- the screen coordinates to identify the graphicstolerance
- a radius in device-independent pixels (DIP) that specifies how precise the identify operation should bereturnPopupsOnly
- true includes only popups in the identify results. False includes both graphics and popups in the results.- Returns:
- a ListenableFuture for tracking when the operation is done and getting the result; Add a listener to the future to be notified when the identify operation is complete. The result of the future is a list of IdentifyGraphicsOverlayResult objects if the operation completed successfully. Results are returned in top-to-bottom order.
- Throws:
java.lang.IllegalArgumentException
- if- screenPoint is null
- tolerance less than zero or greater than 100
ArcGISRuntimeException
- if screenPoint translates to a point outside the current viewpoint set to the GeoView- Since:
- 100.0.0
-
identifyLayerAsync
public ListenableFuture<IdentifyLayerResult> identifyLayerAsync(Layer layer, Point2D screenPoint, double tolerance, boolean returnPopupsOnly)
Identifies the topmost geoelement in the specified layer or sublayer, at the given screen point.As locations from user gestures are not always accurate to the exact pixel, you can define a tolerance for the identify operation. The tolerance parameter sets the radius of a circle, centered at the specified coordinates, in device-independent pixels (DIP). If the tolerance value is 0, identify performs the test at the specified coordinates. If it is greater than 0, identify tests inside the circle. For touch displays a value of 22 is recommended to cover an average finger tap. The maximum allowed value is 100 DIPs.
The result is returned in a single
IdentifyLayerResult
instance. If the returnPopupsOnly parameter is true onlyIdentifyLayerResult.getPopups()
is populated. If the layer does not have popups an error is returned. If the returnPopupsOnly parameter is false, bothIdentifyLayerResult.getElements()
andIdentifyLayerResult.getPopups()
are populated, if the layer has popups.- Parameters:
layer
- the layer in which to identify the geoelementsscreenPoint
- the screen coordinates to identify the geoelementstolerance
- a radius in device-independent pixels (DIP) that specifies how precise the identify operation should bereturnPopupsOnly
- true includes only a popup in the identify results. False includes both a geoelement and a popup in the results.- Returns:
- a ListenableFuture that provides an IdentifyLayerResult upon successful completion of the async operation. Add a listener to the future to be notified when the identify operation is complete.
- Throws:
ArcGISRuntimeException
- if screenPoint translates to a point outside the current viewpoint set to the GeoViewjava.lang.IllegalArgumentException
- if- layer is null
- screenPoint is null
- tolerance less than zero or greater than 100
- Since:
- 100.0.0
- See Also:
IdentifyLayerResult
-
identifyLayerAsync
public ListenableFuture<IdentifyLayerResult> identifyLayerAsync(Layer layer, Point2D screenPoint, double tolerance, boolean returnPopupsOnly, int maximumResults)
Identifies a limited number of geoelements in the specified layer or sublayer, at the given screen point.As locations from user gestures are not always accurate to the exact pixel, you can define a tolerance for the identify operation. The tolerance parameter sets the radius of a circle, centered at the specified coordinates, in device-independent pixels (DIP). If the tolerance value is 0, identify performs the test at the specified coordinates. If it is greater than 0, identify tests inside the circle. For touch displays a value of 22 is recommended to cover an average finger tap. The maximum allowed value is 100 DIPs.
The result is returned in a single
IdentifyLayerResult
instance. If the returnPopupsOnly parameter is true onlyIdentifyLayerResult.getPopups()
is populated. If the layer does not have popups an error is returned. If the returnPopupsOnly parameter is false, bothIdentifyLayerResult.getElements()
andIdentifyLayerResult.getPopups()
are populated, if the layer has popups.IdentifyLayerResult.getGeoElements()
andIdentifyLayerResult.getPopups()
provide the results in a top-to-bottom order.- Parameters:
layer
- the layer in which to identify the geoelementsscreenPoint
- the screen coordinates to identify the geoelementstolerance
- a radius in device-independent pixels (DIP) that specifies how precise the identify operation should bereturnPopupsOnly
- true includes only popups in the identify results. False includes both geoelements and popups in the results.maximumResults
- the maximum number of geoelements and/or popups returned in theIdentifyLayerResult
. A value of -1 indicates unlimited results.- Returns:
- A ListenableFuture that provides an IdentifyLayerResult upon successful completion of the async operation.
- Throws:
ArcGISRuntimeException
- if screenPoint translates to a point outside the current viewpoint set to the GeoViewjava.lang.IllegalArgumentException
- if- layer is null
- screenPoint is null
- tolerance less than zero or greater than 100
- maximumResults is zero or less than -1
- Since:
- 100.0.0
- See Also:
IdentifyLayerResult
-
identifyLayersAsync
public ListenableFuture<java.util.List<IdentifyLayerResult>> identifyLayersAsync(Point2D screenPoint, double tolerance, boolean returnPopupsOnly)
Identifies the topmost geoelements at the given screen point, in each identifiable layer or sublayer in the GeoView'sArcGISMap
orArcGISScene
.As locations from user gestures are not always accurate to the exact pixel, you can define a tolerance for the identify operation. The tolerance parameter sets the radius of a circle, centered at the specified coordinates, in device-independent pixels (DIP). If the tolerance value is 0, identify performs the test at the specified coordinates. If it is greater than 0, identify tests inside the circle. For touch displays a value of 22 is recommended to cover an average finger tap. The maximum allowed value is 100 DIPs.
The result is returned in a collection of
IdentifyLayerResult
to match the order of the GeoView'sGeoModel.getOperationalLayers()
orGeoModel.getOperationalLayers()
collection. If the returnPopupsOnly parameter is true onlyIdentifyLayerResult.getPopups()
is populated. If the layer does not have popups an error is returned. If the returnPopupsOnly parameter is false, bothIdentifyLayerResult.getElements()
andIdentifyLayerResult.getPopups()
are populated, if the layer has popups.- Parameters:
screenPoint
- the screen coordinates to identify the geoelementstolerance
- a radius in device-independent pixels (DIP) that specifies how precise the identify operation should bereturnPopupsOnly
- true includes only popups in the identify results. False includes both geoelements and popups in the results.- Returns:
- a
ListenableFuture
ofList
ofIdentifyLayerResult
, containing one entry for each layer in the view that supports identify. Each entry contains aLayer
and aList
of elements of the type contained by the layer (for example,Feature
for aFeatureLayer
). - Throws:
java.lang.IllegalArgumentException
- if- screenPoint is null
- tolerance less than zero or greater than 100
ArcGISRuntimeException
- if screenPoint translates to a point outside the current viewpoint set to the GeoView- Since:
- 100.0.0
- See Also:
IdentifyLayerResult
,IdentifyLayerResult.getSublayerResults()
-
identifyLayersAsync
public ListenableFuture<java.util.List<IdentifyLayerResult>> identifyLayersAsync(Point2D screenPoint, double tolerance, boolean returnPopupsOnly, int maximumResults)
Identifies a limited number of geoelements at the given screen point, in each identifiable layer or sublayer in the GeoView'sArcGISMap
orArcGISScene
.As locations from user gestures are not always accurate to the exact pixel, you can define a tolerance for the identify operation. The tolerance parameter sets the radius of a circle, centered at the specified coordinates, in device-independent pixels (DIP). If the tolerance value is 0, identify performs the test at the specified coordinates. If it is greater than 0, identify tests inside the circle. For touch displays a value of 22 is recommended to cover an average finger tap. The maximum allowed value is 100 DIPs.
The result is returned in a collection of
IdentifyLayerResult
to match the order of the GeoView'sGeoModel.getOperationalLayers()
orGeoModel.getOperationalLayers()
collection. If the returnPopupsOnly parameter is true onlyIdentifyLayerResult.getPopups()
is populated. If the layer does not have popups an error is returned. If the returnPopupsOnly parameter is false, bothIdentifyLayerResult.getElements()
andIdentifyLayerResult.getPopups()
are populated, if the layer has popups.IdentifyLayerResult.getGeoElements()
andIdentifyLayerResult.getPopups()
provide the results in a top-to-bottom order.- Parameters:
screenPoint
- the screen coordinates to identify the geoelementstolerance
- a radius in device-independent pixels (DIP) that specifies how precise the identify operation should bereturnPopupsOnly
- true includes only popups in the identify results. An error is returned if the layer does not have popups. False includes both geoelements and popups in the identify results.maximumResults
- the maximum number of geoelements and/or popups returned in theIdentifyLayerResult
per layer or sublayer. A value of -1 indicates unlimited results.- Returns:
- a
ListenableFuture
ofList
ofIdentifyLayerResult
, containing one entry for each layer in the view that supports identify. Each entry contains aLayer
and aList
of elements of the type contained by the layer (for example,Feature
for aFeatureLayer
). - Throws:
ArcGISRuntimeException
- if screenPoint translates to a point outside the current viewpoint set to the GeoViewjava.lang.IllegalArgumentException
- if- screenPoint is null
- tolerance is less than one or greater than 100
- maximumResults is zero or less than -1
- Since:
- 100.0.0
- See Also:
IdentifyLayerResult
-
exportImageAsync
public ListenableFuture<Image> exportImageAsync()
Asynchronously exports an image snapshot of the current GeoView.The exported image contains the currently visible content of the
MapView
orSceneView
. Elements drawn on top of the GeoView, such as callouts or popups, are not exported. You can checkgetDrawStatus()
to confirm that drawing is complete before calling this method.- Returns:
- a ListenableFuture that provides an Image of GeoView upon successful completion of the asynchronous operation.
- Since:
- 100.0.0
-
setTimeExtent
public void setTimeExtent(TimeExtent timeExtent)
Sets the time extent of the GeoView.The
TimeExtent
defines how time-enabled data is displayed in the GeoView. Participating layers filter their data to only show data within the time extent set on the GeoView (seeTimeAware
for details). The range of the time extent includes the start and end values. For example, a feature at 10/24/2016 would be included in a time extent defined as 10/24/2016 - 11/14/2016. Time filtering is not enabled until a non-null time extent is set on the GeoView. When the time extent is null on the GeoView, no time filtering is applied and all content is rendered.- Parameters:
timeExtent
- the currentTimeExtent
of the GeoView- Since:
- 100.3.0
- See Also:
TimeAware
-
getTimeExtent
public TimeExtent getTimeExtent()
Gets the current time extent.- Returns:
- the time extent, or null if no time extent is set
- Since:
- 100.3.0
- See Also:
setTimeExtent(TimeExtent)
,TimeAware
-
selectionPropertiesProperty
public ReadOnlyObjectProperty<SelectionProperties> selectionPropertiesProperty()
An object containing selection properties that are applied to the GeoView.This object allows configuration of new selection highlighting functionality such as selection promotion and switchable selection halo.
Notes on per-layer selection coloring (supported in 2D only):
- The deprecated per-layer selection coloring functionality is initially enabled.
- If the GeoView's SelectionProperties are touched, per-layer selection coloring is then disabled for the lifetime of the view (here, 'touched' means replacing the view's SelectionProperties, or calling a setter property on the view's SelectionProperties).
- Use of per-layer selection coloring is deprecated and may have a detrimental impact on rendering performance.
- When per-layer coloring is enabled and more than one selection color is configured, selection halo will be disabled.
- To enable selection halo or promotion, set the properties to true. Again, this will automatically disable per-layer selection coloring for the lifetime of the view.
- Since:
- 200.0.0
- See Also:
getSelectionProperties()
-
getSelectionProperties
public SelectionProperties getSelectionProperties()
Gets the selection properties for all graphic overlays and selectable layers within the GeoView.You can use
SelectionProperties
to define the selection color for all graphic overlays and selectable layers within the GeoView. The default selection color is cyan.- Returns:
- the selection properties for all graphic overlays and selectable layers within the GeoView
- Since:
- 100.4.0
-
enableMouseZoomProperty
public BooleanProperty enableMouseZoomProperty()
If true mouse wheel zooming is enabled.- See Also:
isEnableMouseZoom()
,setEnableMouseZoom(boolean)
-
setEnableMouseZoom
public void setEnableMouseZoom(boolean enable)
Enables or disables mouse wheel zooming.- Parameters:
enable
- true to enable mouse wheel zoom
-
isEnableMouseZoom
public boolean isEnableMouseZoom()
Returns true if mouse wheel zoom is enabled, otherwise false.- Returns:
- true if enabled
-
enableMousePanProperty
public BooleanProperty enableMousePanProperty()
If true mouse panning is enabled.- See Also:
isEnableMousePan()
,setEnableMousePan(boolean)
-
setEnableMousePan
public void setEnableMousePan(boolean enable)
Enables or disables mouse panning.- Parameters:
enable
- true to enable mouse panning
-
isEnableMousePan
public boolean isEnableMousePan()
Returns true if mouse pan is enabled, otherwise false.- Returns:
- true, if mouse panning is enabled
-
enableKeyboardNavigationProperty
public BooleanProperty enableKeyboardNavigationProperty()
If true keyboard navigation is enabled.
-
setEnableKeyboardNavigation
public void setEnableKeyboardNavigation(boolean enable)
Enables or disables keyboard navigation.- Parameters:
enable
- true to enable keyboard navigation
-
isEnableKeyboardNavigation
public boolean isEnableKeyboardNavigation()
Returns true if keyboard navigation is enabled, otherwise false.- Returns:
- true, if keyboard navigation is enabled
-
enableTouchPanProperty
public BooleanProperty enableTouchPanProperty()
If true touch panning is enabled.- See Also:
isEnableTouchPan()
,setEnableTouchPan(boolean)
-
setEnableTouchPan
public void setEnableTouchPan(boolean enable)
Enables or disables touch panning.- Parameters:
enable
- true to enable touch panning
-
isEnableTouchPan
public boolean isEnableTouchPan()
Returns true if touch pan is enabled, otherwise false.- Returns:
- true, if touch panning is enabled
-
enableTouchZoomProperty
public BooleanProperty enableTouchZoomProperty()
If true touch zoom (pinch) is enabled.- See Also:
isEnableTouchZoom()
,setEnableTouchZoom(boolean)
-
setEnableTouchZoom
public void setEnableTouchZoom(boolean enable)
Enables or disables touch zoom (pinch).- Parameters:
enable
- true to enable touch zooming
-
isEnableTouchZoom
public boolean isEnableTouchZoom()
Returns true if touch zoom (pinch) is enabled, otherwise false.- Returns:
- true, if touch zoom is enabled
-
enableTouchRotateProperty
public BooleanProperty enableTouchRotateProperty()
If true touch rotate is enabled.
-
setEnableTouchRotate
public void setEnableTouchRotate(boolean enable)
Enables or disables touch rotate.- Parameters:
enable
- true to enable touch rotate
-
isEnableTouchRotate
public boolean isEnableTouchRotate()
Returns true if touch rotate is enabled, otherwise false.- Returns:
- true, if touch rotate is enabled
-
attributionTextVisibleProperty
public BooleanProperty attributionTextVisibleProperty()
If attribution text is visible.- Since:
- 100.0.0
- See Also:
isAttributionTextVisible()
,setAttributionTextVisible(boolean)
-
isAttributionTextVisible
public boolean isAttributionTextVisible()
True if attribution text is visible in the GeoView, false otherwise.- Returns:
- true if attribution text is visible in the GeoView, false otherwise
- Since:
- 100.0.0
- See Also:
setAttributionTextVisible(boolean)
-
setAttributionTextVisible
public void setAttributionTextVisible(boolean visible)
Sets the visibility of the Esri attribution text. The Esri attribution text must be visible if your app uses data served by Esri through ArcGIS Online.- Parameters:
visible
- true if the attribution text should be visible- Since:
- 100.0.0
- See Also:
isAttributionTextVisible()
-
addAttributionTextChangedListener
@Deprecated(since="200.0.0", forRemoval=true) public void addAttributionTextChangedListener(AttributionTextChangedListener listener)
Deprecated, for removal: This API element is subject to removal in a future version.As of 200.0.0, useObservableValue.addListener(ChangeListener)
onattributionTextProperty()
.Registers an AttributionTextChangedListener to be called when the attribution text of the GeoView changes, for example if a layer is removed or added the attribution text needs to update.This listener will be invoked on the UI thread if it is added from the UI thread, otherwise it is not guaranteed on which thread the listener is invoked.
- Parameters:
listener
- the listener to register- Throws:
java.lang.NullPointerException
- if the listener is null- Since:
- 100.1.0
- See Also:
removeAttributionTextChangedListener(AttributionTextChangedListener)
,getAttributionText()
-
removeAttributionTextChangedListener
@Deprecated(since="200.0.0", forRemoval=true) public boolean removeAttributionTextChangedListener(AttributionTextChangedListener listener)
Deprecated, for removal: This API element is subject to removal in a future version.As of 200.0.0, useObservableValue.addListener(ChangeListener)
onattributionTextProperty()
.Unregisters an AttributionTextChangedListener that was previously added usingaddAttributionTextChangedListener(AttributionTextChangedListener)
.- Parameters:
listener
- the listener to remove- Returns:
- true if the listener was successfully removed; false otherwise
- Throws:
java.lang.NullPointerException
- if the listener is null- Since:
- 100.1.0
-
addTimeExtentChangedListener
public void addTimeExtentChangedListener(TimeExtentChangedListener listener)
Registers aTimeExtentChangedListener
to be called when the time extent of the GeoView is changed.This listener will be invoked on the UI thread if it is added from the UI thread, otherwise it is not guaranteed on which thread the listener is invoked.
- Parameters:
listener
- the listener to register- Throws:
java.lang.IllegalArgumentException
- if listener is null- Since:
- 100.10.0
-
removeTimeExtentChangedListener
public boolean removeTimeExtentChangedListener(TimeExtentChangedListener listener)
Unregisters aTimeExtentChangedListener
that was previously added usingaddTimeExtentChangedListener(TimeExtentChangedListener)
.- Parameters:
listener
- the listener to unregister- Returns:
- true if the listener was successfully removed; false otherwise
- Throws:
java.lang.IllegalArgumentException
- if listener is null- Since:
- 100.10.0
-
attributionTextProperty
public ReadOnlyStringProperty attributionTextProperty()
The full attribution text, concatenated into a single string.- Since:
- 200.0.0
- See Also:
getAttributionText()
-
getAttributionText
public java.lang.String getAttributionText()
Gets the attribution text for the data that is currently displayed in the GeoView.Attribution text includes data providers or sources for layers and copyright text. The full attribution text is concatenated into a single string that is displayed in a banner along the bottom edge of the view.
- Returns:
- the attribution text for the data that is currently displayed in the GeoView
- Since:
- 100.1.0
-
getCallout
public final Callout getCallout()
Gets the Callout for this GeoView. A callout displays a Region that contains text and/or other content. A GeoView has only one Callout.- Returns:
- the Callout object for this GeoView
- Since:
- 100.1.0
-
setInteractionListener
public void setInteractionListener(InteractionListener interactionListener)
Sets the listener to handle input interactions on the GeoView.- Parameters:
interactionListener
- listener to handle input interactions on the GeoView- Throws:
java.lang.IllegalArgumentException
- if the interactionListener is null- Since:
- 100.1.0
-
getInteractionListener
public InteractionListener getInteractionListener()
Gets the current interaction listener.- Returns:
- the current interaction listener
- Since:
- 100.1.0
-
setBookmarkAsync
public ListenableFuture<java.lang.Boolean> setBookmarkAsync(Bookmark bookmark)
Sets theViewpoint
of the GeoView to theBookmark.getViewpoint()
.- Parameters:
bookmark
- bookmark to set- Returns:
- a ListenableFuture. Add a listener to this to know when the operation is complete. The result of the future indicates whether the bookmark was set
- Throws:
java.lang.IllegalArgumentException
- if bookmark is null- Since:
- 100.3.0
-
labelingProperty
public ObjectProperty<ViewLabelProperties> labelingProperty()
The view label properties.The view label properties are an overall control for whether labels will be created and displayed for layers added to the view. Individual layers can also control whether labels should be displayed for their features. Labels need to be enabled both in the view and in the layer. By default the labeling for a view is enabled. The view label properties also control global aspects of the label appearance, for example animation effects.
Must not be set to null.
- Since:
- 200.0.0
- See Also:
getLabeling()
,setLabeling(ViewLabelProperties)
-
getLabeling
public ViewLabelProperties getLabeling()
Gets the view label properties.This property determines whether labels are created, added and animated for all of the layers and graphic overlays in the view. For example, you can prevent labels displaying in the GeoView if you set
ViewLabelProperties.isLabelingEnabled()
to false. This overrides the labelsEnabled properties set on all layers and graphic overlays in the view. The default value ofViewLabelProperties.isLabelingEnabled()
is true.- Returns:
- the view label properties
- Since:
- 100.10.0
-
setLabeling
public void setLabeling(ViewLabelProperties viewLabelProperties)
Sets the view label properties.This property determines whether labels are created, added and animated for all of the layers and graphic overlays in the view. For example, you can prevent labels displaying in the GeoView if you set
ViewLabelProperties.isLabelingEnabled()
to false. This overrides the labelsEnabled properties set on all layers and graphic overlays in the view.- Parameters:
viewLabelProperties
- the view label properties- Throws:
java.lang.IllegalArgumentException
- if viewLabelProperties is null- Since:
- 100.10.0
-
dispose
public void dispose()
Dispose the GeoView- Since:
- 100.0.0
-
-