Class GeoView

  • All Implemented Interfaces:
    Styleable, EventTarget, Skinnable
    Direct Known Subclasses:
    MapView, SceneView

    public abstract class GeoView
    extends Control
    A GeoView is the base class for working with views in an MVC architecture. In this architecture, an ArcGISMap or ArcGISScene represents the model and a GeoView represents the view. A GeoView provides properties and methods inherited by the 2D MapView and the 3D SceneView; these derived classes must only be created and used on the UI thread.
    Since:
    100.0.0
    • Field Detail

      • mGeoViewImpl

        protected com.esri.arcgisruntime.internal.mapping.view.GeoViewImpl mGeoViewImpl
      • mCallout

        protected Callout mCallout
    • Constructor Detail

      • GeoView

        protected GeoView​(com.esri.arcgisruntime.internal.jni.CoreGeoView coreGeoView)
    • Method Detail

      • 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 with attributionTextVisibleProperty().
        Returns:
        the attribution top property
        Since:
        100.1.0
      • 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 with attributionTextVisibleProperty().
        Returns:
        the distance to the attribution top, or the bottom of the map or scene if attribution is not visible
        Since:
        100.1.0
      • getSpatialReference

        public abstract SpatialReference getSpatialReference()
        Gets the spatial reference.
        Returns:
        the spatial reference
        Since:
        100.0.0
      • getDrawStatus

        public DrawStatus getDrawStatus()
        Returns the current draw status.
        Returns:
        the current draw status
        Since:
        100.0.0
      • isLogoVisible

        @Deprecated(since="100.2.0",
                    forRemoval=true)
        public boolean isLogoVisible()
        Deprecated, for removal: This API element is subject to removal in a future version.
        As of 100.2.0, no replacement.
        Returns false.
        Returns:
        false always
        Since:
        100.0.0
      • setLogoVisible

        @Deprecated(since="100.2.0",
                    forRemoval=true)
        public void setLogoVisible​(boolean visible)
        Deprecated, for removal: This API element is subject to removal in a future version.
        as of 100.2.0, no replacement.
        This is a no-operation.
        Parameters:
        visible - the new logo visible
        Since:
        100.0.0
      • isNavigating

        public boolean isNavigating()
        Indicates whether the GeoView is being interacted with or not.
        Returns:
        true, if the GeoView is being interacted with.
        Since:
        100.0.0
      • isWrapAroundEnabled

        public boolean isWrapAroundEnabled()
        Indicates whether wrap around mode is enabled.

        If a MapView is in wrap around mode then you can pan across the international date line if your BaseMap is in a suitable SpatialReference. A SceneView is always in wrap around mode.

        Returns:
        true, if wrap around is enabled
        Since:
        100.0.0
      • setViewpoint

        public void setViewpoint​(Viewpoint viewpoint)
        Sets the view to a given location and scale.

        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 use SceneView.setViewpointCamera(com.esri.arcgisruntime.mapping.view.Camera).

        Parameters:
        viewpoint - the new viewpoint
        Throws:
        IllegalArgumentException - if the argument is null
        Since:
        100.0.0
      • getCurrentViewpoint

        public Viewpoint getCurrentViewpoint​(Viewpoint.Type viewpointType)
        Gets the current viewpoint.

        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:
        IllegalArgumentException - if the argument is null
        Since:
        100.0.0
      • setViewpointAsync

        public ListenableFuture<Boolean> setViewpointAsync​(Viewpoint viewpoint,
                                                           float durationSeconds)
        Set viewpoint with duration asynchronously.
        Parameters:
        viewpoint - the viewpoint
        durationSeconds - 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:
        IllegalArgumentException - if the viewpoint is null
        Since:
        100.0.0
      • getViewStateForLayer

        public LayerViewState getViewStateForLayer​(Layer layer)
        Retrieve the layer's view state.
        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 found
        IllegalArgumentException - if layer is null
        Since:
        100.10.0
      • addDrawStatusChangedListener

        public void addDrawStatusChangedListener​(DrawStatusChangedListener listener)
        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:
        NullPointerException - if the argument is null
        Since:
        100.0.0
      • removeDrawStatusChangedListener

        public boolean removeDrawStatusChangedListener​(DrawStatusChangedListener listener)
        Removes a draw status changed listener.
        Parameters:
        listener - the listener
        Returns:
        true if listener successfully removed, false otherwise
        Throws:
        NullPointerException - if the argument is null
        Since:
        100.0.0
      • addSpatialReferenceChangedListener

        public void addSpatialReferenceChangedListener​(SpatialReferenceChangedListener listener)
        Adds a listener for changes to the SpatialReference.

        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:
        NullPointerException - if the argument is null
        Since:
        100.0.0
      • addNavigationChangedListener

        public void addNavigationChangedListener​(NavigationChangedListener listener)
        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:
        NullPointerException - if the listener is null
        Since:
        100.0.0
      • removeNavigationChangedListener

        public boolean removeNavigationChangedListener​(NavigationChangedListener listener)
        Removes a navigation change listener.
        Parameters:
        listener - the listener
        Returns:
        true, if successful
        Throws:
        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:
        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:
        NullPointerException - if the argument is null
        Since:
        100.0.0
      • getGraphicsOverlays

        public ListenableList<GraphicsOverlay> getGraphicsOverlays()
        Gets a modifiable list of the graphics overlays. Add or remove graphics overlays from this list to modify what is displayed. The list returned can be empty but not null. You can add listeners to this list to monitor changes to the list. A graphics overlay can only be in the list once.
        Returns:
        the graphics overlays
        Since:
        100.0.0
      • identifyGraphicsOverlayAsync

        public ListenableFuture<IdentifyGraphicsOverlayResult> identifyGraphicsOverlayAsync​(GraphicsOverlay graphicsOverlay,
                                                                                            Point2D screenPoint,
                                                                                            double tolerance,
                                                                                            boolean returnPopupsOnly,
                                                                                            int maximumResults)
        Asynchronously identifies visible graphics in the given graphics overlay, near the given JavaFX local coordinate system point.

        As locations from user gestures are not always accurate to the exact pixel, a tolerance for the identify can be defined. The tolerance parameter indicates the radius of a circle, centered at screenPoint. The result returned will include any visible graphics, when rendered with the appropriate symbols, that intersect this circle, up to the maximumResults parameter limit.

        The return_popups_only parameter controls whether popups and graphics are available in the IdentifyGraphicsOverlayResult returned by this method. Specifically, the parameter controls whether IdentifyGraphicsOverlayResult.getPopups() and IdentifyGraphicsOverlayResult.getGraphics() return lists that are populated or empty:

        • true - only getPopups() will return a populated list, whereas getGraphics() will return an empty list.
        • false - getGraphics() and getPopups() will return populated lists (unless the overlay has no popups, in which case getPopups() returns an empty list).
        Parameters:
        graphicsOverlay - the graphics overlay to identify graphics within
        screenPoint - the JavaFX local coordinates at which to identify graphics
        tolerance - The radius, of a circle centered at the screenPoint within which to identify graphics. A value of 0 will only identify graphics at the screenPoint's physical pixel. The maximum allowed value is 100 density independent pixels, resulting in an identify circle of diameter 200 density independent pixels.
        returnPopupsOnly - true to identify Popups only, false to identify Graphics as well
        maximumResults - the maximum number of graphics to identify in the given overlay. Must be greater than zero with the exception that -1 can be used to indicate unlimited results. Limits size of list returned by IdentifyGraphicsOverlayResult.getGraphics.
        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 GeoView
        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, a tolerance for the identify can be defined. The tolerance parameter indicates the radius of a circle, centered at screenPoint. The result returned will include the topmost visible graphic, when rendered with the appropriate symbol, that intersects this circle.

        The return_popups_only parameter controls whether popups and graphics are available in the IdentifyGraphicsOverlayResult returned by this method. Specifically, the parameter controls whether IdentifyGraphicsOverlayResult.getPopups() and IdentifyGraphicsOverlayResult.getGraphics() return lists that are populated or empty:

        • true - only getPopups() will return a populated list, whereas getGraphics() will return an empty list.
        • false - getGraphics() and getPopups() will return populated lists (unless the overlay has no popups, in which case getPopups() returns an empty list).
        Parameters:
        graphicsOverlay - the graphics overlay to identify a graphic within
        screenPoint - the JavaFX local coordinates at which to identify a graphic
        tolerance - The radius, of a circle centered at the screenPoint within which to identify a graphic. A value of 0 will only identify a graphic at the screenPoint's physical pixel. The maximum allowed value is 100 density independent pixels, resulting in an identify circle of diameter 200 density independent pixels.
        returnPopupsOnly - true to identify Popups only; false to identify Graphics as well.
        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 GeoView
        IllegalArgumentException - if
        • graphicsOverlay is null
        • screenPoint is null
        • tolerance less than zero or greater than 100
        Since:
        100.0.0
      • identifyGraphicsOverlaysAsync

        public ListenableFuture<List<IdentifyGraphicsOverlayResult>> identifyGraphicsOverlaysAsync​(Point2D screenPoint,
                                                                                                   double tolerance,
                                                                                                   boolean returnPopupsOnly,
                                                                                                   int maximumResults)
        Asynchronously identifies visible graphics in all graphics overlays attached to this view near a JavaFX local coordinate system point.

        As locations from user gestures are not always accurate to the exact pixel, a tolerance for the identify can be defined. The tolerance parameter indicates the radius of a circle, centered at screenPoint. The result returned will include any visible graphics, when rendered with the appropriate symbols, that intersect this circle, up to the maximumResults parameter limit for each graphics overlay.

        The return_popups_only parameter controls whether popups and graphics are available in the IdentifyGraphicsOverlayResult instances returned by this method. Specifically, the parameter controls whether IdentifyGraphicsOverlayResult.getPopups() and IdentifyGraphicsOverlayResult.getGraphics() return lists that are populated or empty:

        • true - The identifyGraphicsOverlaysAsync() method will omit from its returned list all overlays that have no popups; and for each result that does have popups, IdentifyGraphicsOverlayResult.getPopups() will return a populated list. The getter IdentifyGraphicsOverlayResult.getGraphics() will return an empty list.
        • false - IdentifyGraphicsOverlayResult.getGraphics() will return a populated list of graphics for each overlay. And IdentifyGraphicsOverlayResult.getPopups() will return a populated list of popups (unless the overlay has no popups, in which case getPopups() returns an empty list).
        Parameters:
        screenPoint - the JavaFX local coordinates at which to identify graphics
        tolerance - The radius, of a circle centered at the screenPoint within which to identify graphics. A value of 0 will only identify the graphics at the screenPoint's physical pixel. The maximum allowed value is 100 density independent pixels, resulting in an identify circle of diameter 200 density independent pixels.
        returnPopupsOnly - true to identify Popups only, false to identify Graphics as well
        maximumResults - the maximum number of graphics to identify per overlay; must be greater than zero with the exception that -1 can be used to indicate unlimited results. Limits size of list returned by IdentifyGraphicsOverlayResult.getGraphics().
        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 GeoView
        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<List<IdentifyGraphicsOverlayResult>> identifyGraphicsOverlaysAsync​(Point2D screenPoint,
                                                                                                   double tolerance,
                                                                                                   boolean returnPopupsOnly)
        Asynchronously identifies the topmost visible graphic in each graphics overlay attached to this view, near the given JavaFX local coordinate system point.

        As locations from user gestures are not always accurate to the exact pixel, a tolerance for the identify can be defined. The tolerance parameter indicates the radius of a circle, centered at screenPoint. The result returned will include the topmost visible graphic, when rendered with the appropriate symbol, from each graphics overlay that intersects this circle.

        The return_popups_only parameter controls whether popups and graphics are available in the IdentifyGraphicsOverlayResult instances returned by this method. Specifically, the parameter controls whether IdentifyGraphicsOverlayResult.getPopups() and IdentifyGraphicsOverlayResult.getGraphics() return lists that are populated or empty:

        • true - The identifyGraphicsOverlaysAsync() method will omit from its returned list all overlays that have no popups; and for each overlay that does have popups, IdentifyGraphicsOverlayResult.getPopups() will return a populated list. The getter IdentifyGraphicsOverlayResult.getGraphics() will return an empty list.
        • false - IdentifyGraphicsOverlayResult.getGraphics() will return a populated list of graphics for each overlay. And IdentifyGraphicsOverlayResult.getPopups() will return a populated list of popups (unless the overlay has no popups, in which case getPopups() returns an empty list).
        Parameters:
        screenPoint - the JavaFX local coordinates at which to identify graphics
        tolerance - The radius, of a circle centered at the screenPoint within which to identify graphics. A value of 0 will only identify the graphics at the screenPoint's physical pixel. The maximum allowed value is 100 density independent pixels, resulting in an identify circle of 200 density independent pixels.
        returnPopupsOnly - true to identify Popups only, false to identify Graphics as well
        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:
        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)
        Asynchronously identifies the topmost visible geoelement in the given layer, near the given JavaFX local coordinate system point.

        As locations from user gestures are not always accurate to the exact pixel, a tolerance for the identify can be defined. The tolerance parameter indicates the radius of a circle, centered at screenPoint. The result returned will include the topmost visible geoelement, when rendered with the appropriate symbol, that intersects this circle.

        The return_popups_only parameter controls whether popups and geoelements are available in the IdentifyLayerResult returned by this method. Specifically, the parameter controls whether IdentifyLayerResult.getPopups() and IdentifyLayerResult.getElements() return lists that are populated or empty:

        • true - only getPopups() will return a populated list, whereas getElements() will return an empty list.
        • false - getElements() and getPopups() will return populated lists (unless the layer has no popups, in which case getPopups() returns an empty list).
        Parameters:
        layer - layer to identify a geoelement within
        screenPoint - the JavaFX local coordinates to identify on
        tolerance - The radius, of a circle centered at the screenPoint within which to identify a geoelement. A value of 0 will only identify a geoelement at the screenPoint's physical pixel. The maximum allowed value 100 density independent pixels, resulting in an identify circle of diameter 200 density independent pixels.
        returnPopupsOnly - true to identify Popups only, false to identify GeoElements as well
        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 GeoView
        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)
        Asynchronously identifies geoelements in the given layer, near the given JavaFX local coordinate system point.

        As locations from user gestures are not always accurate to the exact pixel, a tolerance for the identify can be defined. The tolerance parameter indicates the radius of a circle, centered at screenPoint. The result returned will include any visible geoelement, when rendered with the appropriate symbol, that intersects this circle, up to the maximumResults parameter limit.

        The return_popups_only parameter controls whether popups and geoelements are available in the IdentifyLayerResult returned by this method. Specifically, the parameter controls whether IdentifyLayerResult.getPopups() and IdentifyLayerResult.getElements() return lists that are populated or empty:

        • true - only getPopups() will return a populated list, whereas getElements() will return an empty list.
        • false - getElements() and getPopups() will return populated lists (unless the layer has no popups, in which case getPopups() returns an empty list).
        Parameters:
        layer - layer to identify geoelements wtihin
        screenPoint - the JavaFX local coordinates to identify on
        tolerance - The radius, of a circle centered at the screenPoint within which to identify geoelements. A value of 0 will only identify geoelements at the screenPoint's physical pixel. The maximum allowed value is 100 density independent pixels, resulting in an identify circle of diameter 200 density independent pixels.
        returnPopupsOnly - true to identify Popups only, false to identify GeoElements as well
        maximumResults - the maximum number of geoelements to identify in the layer; must be greater than zero with the exception that -1 can be used to indicate unlimited results. Limits the size of list returned by IdentifyLayerResult.getElements().
        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 GeoView
        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<List<IdentifyLayerResult>> identifyLayersAsync​(Point2D screenPoint,
                                                                               double tolerance,
                                                                               boolean returnPopupsOnly)
        Asynchronously identifies the topmost visible geoelement in each identifiable layer attached to the map, near the given JavaFX local coordinate system point.

        As locations from user gestures are not always accurate to the exact pixel, a tolerance for the identify can be defined. The tolerance parameter indicates the radius of a circle, centered at screenPoint. The result returned will include the topmost visible geoelement, when rendered with the appropriate symbol, that intersects this circle from each identifiable layer.

        The return_popups_only parameter controls whether popups and geoelements are available in the IdentifyLayerResult instances returned by this method. Specifically, the parameter controls whether IdentifyLayerResult.getPopups() and IdentifyLayerResult.getElements() return lists that are populated or empty:

        • true - The identifyLayersAsync() method will omit from its returned list all layers that have no popups; and for each layer that does have popups, IdentifyLayerResult.getPopups() will return a populated list. The getter IdentifyLayerResult.getElements() will return an empty list.
        • false - IdentifyLayerResult.getElements() will return a populated list of geoelements for each layer. And IdentifyLayerResult.getPopups() will return a populated list of popups (unless the layer has no popups, in which case getPopups() returns an empty list).
        Parameters:
        screenPoint - the JavaFX local coordinates to identify on
        tolerance - The radius, of a circle centered at the screenPoint within which to identify geoelements. A value of 0 will only identify geoelements at the screenPoint's physical pixel. The maximum allowed value is 100 density independent pixels, resulting in an identify circle of diameter 200 density independent pixels.
        returnPopupsOnly - true to identify Popups only, false to identify GeoElements as well
        Returns:
        A ListenableFuture that provides an unmodifiable list of IdentifyLayerResults upon successful completion of the async operation. The list contains an IdentifyLayerResult for each layer in which a geoelement was identified; layers with no identified geoelement are not represented in the list. Results are returned in top-to-bottom order.
        Throws:
        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<List<IdentifyLayerResult>> identifyLayersAsync​(Point2D screenPoint,
                                                                               double tolerance,
                                                                               boolean returnPopupsOnly,
                                                                               int maximumResults)
        Asynchronously identifies geoelements on all identifiable layers attached to the map, near the given JavaFX local coordinate system point.

        As locations from user gestures are not always accurate to the exact pixel, a tolerance for the identify can be defined. The tolerance parameter indicates the radius of a circle, centered at screenPoint. The result returned will include any visible geoelements, when rendered with the appropriate symbol, that intersect this circle, up to the maximumResults parameter limit per identifiable layer.

        The return_popups_only parameter controls whether popups and geoelements are available in the IdentifyLayerResult instances returned by this method. Specifically, the parameter controls whether IdentifyLayerResult.getPopups() and IdentifyLayerResult.getElements() return lists that are populated or empty:

        • true - The identifyLayersAsync() method will omit from its returned list all layers that have no popups; and for each layer that does have popups, IdentifyLayerResult.getPopups() will return a populated list. The getter IdentifyLayerResult.getElements() will return an empty list.
        • false - IdentifyLayerResult.getElements() will return a populated list of geoelements for each layer. And IdentifyLayerResult.getPopups() will return a populated list of popups (unless the layer has no popups, in which case getPopups() returns an empty list).
        Parameters:
        screenPoint - the JavaFX local coordinates to identify on
        tolerance - The radius, of a circle centered at the screenPoint within which to identify geoelements. A value of 0 will only identify geoelements at the screenPoint's physical pixel. The maximum allowed value is 100 density independent pixels, resulting in an identify circle of diameter 200 density independent pixels.
        returnPopupsOnly - true to identify Popups only, false to identify GeoElements as well
        maximumResults - the maximum number of geoelements to identify per layer; must be greater than zero with the exception that -1 can be used to indicate unlimited results. Limits the size of list returned by IdentifyLayerResult.getElements().
        Returns:
        A ListenableFuture that provides an unmodifiable list of IdentifyLayerResults upon successful completion of the asynchronous operation. The list contains an IdentifyLayerResult for each layer in which a geoelement was identified; layers with no identified geoelement are not represented in the list. Results are returned in top-to-bottom order.
        Throws:
        ArcGISRuntimeException - if screenPoint translates to a point outside the current viewpoint set to the GeoView
        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 the GeoView into an Image. The Image will only contain content of an ArcGISMap or ArcGISScene that is currently visible. Elements drawn on top of the GeoView such as Callouts will not be in the Image.
        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 Time Extent of the GeoView defines how time-enabled data is displayed. Time filtering is applied by participating layers. See the TimeAware interface for details. 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 time extent
        Since:
        100.3.0
        See Also:
        getTimeExtent()
      • 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)
      • getSelectionProperties

        public SelectionProperties getSelectionProperties()
        Returns the selection properties that are applied to a GeoView.
        Returns:
        the selection properties
        Since:
        100.4.0
      • 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
      • 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
      • 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
      • 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
      • 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
      • 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
      • isAttributionTextVisible

        public boolean isAttributionTextVisible()
        Returns true if attribution text is visible, otherwise false.
        Returns:
        true if the attribution text is visible
        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()
      • addTimeExtentChangedListener

        public void addTimeExtentChangedListener​(TimeExtentChangedListener listener)
        Registers a TimeExtentChangedListener 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:
        IllegalArgumentException - if listener is null
        Since:
        100.10.0
      • getAttributionText

        public String getAttributionText()
        Gets a concatenated string with attributions from all layers. This returns an empty string if there is no attribution text.
        Returns:
        a concatenated string with attributions from all layers; empty string if there is no attribution text
        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:
        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<Boolean> setBookmarkAsync​(Bookmark bookmark)
        Asynchronously sets the bookmark, which consequently applies the viewpoint within the bookmark to the GeoView.
        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:
        IllegalArgumentException - if bookmark is null
        Since:
        100.3.0
      • getLabeling

        public ViewLabelProperties getLabeling()
        Gets 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.

        Returns:
        the view label properties
        Since:
        100.10.0
      • setLabeling

        public void setLabeling​(ViewLabelProperties viewLabelProperties)
        Sets 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.

        Parameters:
        viewLabelProperties - the view label properties
        Throws:
        IllegalArgumentException - if viewLabelProperties is null
        Since:
        100.10.0
      • dispose

        public void dispose()
        Dispose the GeoView
        Since:
        100.0.0