Class GeoView

  • All Implemented Interfaces:
    android.graphics.drawable.Drawable.Callback, android.view.accessibility.AccessibilityEventSource, android.view.KeyEvent.Callback, android.view.ViewManager, android.view.ViewParent
    Direct Known Subclasses:
    MapView, SceneView

    public abstract class GeoView
    extends android.view.ViewGroup
    GeoView is a base class for MapView and SceneView (when available), these represent the View in an Model View Controller (MVC) architecture, the Map and Scene that are set on these views represent the model.

    It contains all of the common operations and events that apply to displaying and working with Maps and Scenes. This includes changing what is viewable by setting a viewpoint, responding to viewpoint change events, working with graphics overlays and identifying elements that displayed at a given location in the view.

    Since:
    100.0.0
    See Also:
    MapView, ArcGISMap
    • Nested Class Summary

      • Nested classes/interfaces inherited from class android.view.View

        android.view.View.AccessibilityDelegate, android.view.View.BaseSavedState, android.view.View.DragShadowBuilder, android.view.View.MeasureSpec, android.view.View.OnApplyWindowInsetsListener, android.view.View.OnAttachStateChangeListener, android.view.View.OnCapturedPointerListener, android.view.View.OnClickListener, android.view.View.OnContextClickListener, android.view.View.OnCreateContextMenuListener, android.view.View.OnDragListener, android.view.View.OnFocusChangeListener, android.view.View.OnGenericMotionListener, android.view.View.OnHoverListener, android.view.View.OnKeyListener, android.view.View.OnLayoutChangeListener, android.view.View.OnLongClickListener, android.view.View.OnScrollChangeListener, android.view.View.OnSystemUiVisibilityChangeListener, android.view.View.OnTouchListener, android.view.View.OnUnhandledKeyEventListener
      • Nested classes/interfaces inherited from class android.view.ViewGroup

        android.view.ViewGroup.LayoutParams, android.view.ViewGroup.MarginLayoutParams, android.view.ViewGroup.OnHierarchyChangeListener
    • Field Summary

      • Fields inherited from class android.view.View

        ACCESSIBILITY_LIVE_REGION_ASSERTIVE, ACCESSIBILITY_LIVE_REGION_NONE, ACCESSIBILITY_LIVE_REGION_POLITE, ALPHA, AUTOFILL_FLAG_INCLUDE_NOT_IMPORTANT_VIEWS, AUTOFILL_HINT_CREDIT_CARD_EXPIRATION_DATE, AUTOFILL_HINT_CREDIT_CARD_EXPIRATION_DAY, AUTOFILL_HINT_CREDIT_CARD_EXPIRATION_MONTH, AUTOFILL_HINT_CREDIT_CARD_EXPIRATION_YEAR, AUTOFILL_HINT_CREDIT_CARD_NUMBER, AUTOFILL_HINT_CREDIT_CARD_SECURITY_CODE, AUTOFILL_HINT_EMAIL_ADDRESS, AUTOFILL_HINT_NAME, AUTOFILL_HINT_PASSWORD, AUTOFILL_HINT_PHONE, AUTOFILL_HINT_POSTAL_ADDRESS, AUTOFILL_HINT_POSTAL_CODE, AUTOFILL_HINT_USERNAME, AUTOFILL_TYPE_DATE, AUTOFILL_TYPE_LIST, AUTOFILL_TYPE_NONE, AUTOFILL_TYPE_TEXT, AUTOFILL_TYPE_TOGGLE, DRAG_FLAG_GLOBAL, DRAG_FLAG_GLOBAL_PERSISTABLE_URI_PERMISSION, DRAG_FLAG_GLOBAL_PREFIX_URI_PERMISSION, DRAG_FLAG_GLOBAL_URI_READ, DRAG_FLAG_GLOBAL_URI_WRITE, DRAG_FLAG_OPAQUE, DRAWING_CACHE_QUALITY_AUTO, DRAWING_CACHE_QUALITY_HIGH, DRAWING_CACHE_QUALITY_LOW, EMPTY_STATE_SET, ENABLED_FOCUSED_SELECTED_STATE_SET, ENABLED_FOCUSED_SELECTED_WINDOW_FOCUSED_STATE_SET, ENABLED_FOCUSED_STATE_SET, ENABLED_FOCUSED_WINDOW_FOCUSED_STATE_SET, ENABLED_SELECTED_STATE_SET, ENABLED_SELECTED_WINDOW_FOCUSED_STATE_SET, ENABLED_STATE_SET, ENABLED_WINDOW_FOCUSED_STATE_SET, FIND_VIEWS_WITH_CONTENT_DESCRIPTION, FIND_VIEWS_WITH_TEXT, FOCUS_BACKWARD, FOCUS_DOWN, FOCUS_FORWARD, FOCUS_LEFT, FOCUS_RIGHT, FOCUS_UP, FOCUSABLE, FOCUSABLE_AUTO, FOCUSABLES_ALL, FOCUSABLES_TOUCH_MODE, FOCUSED_SELECTED_STATE_SET, FOCUSED_SELECTED_WINDOW_FOCUSED_STATE_SET, FOCUSED_STATE_SET, FOCUSED_WINDOW_FOCUSED_STATE_SET, GONE, HAPTIC_FEEDBACK_ENABLED, IMPORTANT_FOR_ACCESSIBILITY_AUTO, IMPORTANT_FOR_ACCESSIBILITY_NO, IMPORTANT_FOR_ACCESSIBILITY_NO_HIDE_DESCENDANTS, IMPORTANT_FOR_ACCESSIBILITY_YES, IMPORTANT_FOR_AUTOFILL_AUTO, IMPORTANT_FOR_AUTOFILL_NO, IMPORTANT_FOR_AUTOFILL_NO_EXCLUDE_DESCENDANTS, IMPORTANT_FOR_AUTOFILL_YES, IMPORTANT_FOR_AUTOFILL_YES_EXCLUDE_DESCENDANTS, INVISIBLE, KEEP_SCREEN_ON, LAYER_TYPE_HARDWARE, LAYER_TYPE_NONE, LAYER_TYPE_SOFTWARE, LAYOUT_DIRECTION_INHERIT, LAYOUT_DIRECTION_LOCALE, LAYOUT_DIRECTION_LTR, LAYOUT_DIRECTION_RTL, MEASURED_HEIGHT_STATE_SHIFT, MEASURED_SIZE_MASK, MEASURED_STATE_MASK, MEASURED_STATE_TOO_SMALL, NO_ID, NOT_FOCUSABLE, OVER_SCROLL_ALWAYS, OVER_SCROLL_IF_CONTENT_SCROLLS, OVER_SCROLL_NEVER, PRESSED_ENABLED_FOCUSED_SELECTED_STATE_SET, PRESSED_ENABLED_FOCUSED_SELECTED_WINDOW_FOCUSED_STATE_SET, PRESSED_ENABLED_FOCUSED_STATE_SET, PRESSED_ENABLED_FOCUSED_WINDOW_FOCUSED_STATE_SET, PRESSED_ENABLED_SELECTED_STATE_SET, PRESSED_ENABLED_SELECTED_WINDOW_FOCUSED_STATE_SET, PRESSED_ENABLED_STATE_SET, PRESSED_ENABLED_WINDOW_FOCUSED_STATE_SET, PRESSED_FOCUSED_SELECTED_STATE_SET, PRESSED_FOCUSED_SELECTED_WINDOW_FOCUSED_STATE_SET, PRESSED_FOCUSED_STATE_SET, PRESSED_FOCUSED_WINDOW_FOCUSED_STATE_SET, PRESSED_SELECTED_STATE_SET, PRESSED_SELECTED_WINDOW_FOCUSED_STATE_SET, PRESSED_STATE_SET, PRESSED_WINDOW_FOCUSED_STATE_SET, ROTATION, ROTATION_X, ROTATION_Y, SCALE_X, SCALE_Y, SCREEN_STATE_OFF, SCREEN_STATE_ON, SCROLL_AXIS_HORIZONTAL, SCROLL_AXIS_NONE, SCROLL_AXIS_VERTICAL, SCROLL_INDICATOR_BOTTOM, SCROLL_INDICATOR_END, SCROLL_INDICATOR_LEFT, SCROLL_INDICATOR_RIGHT, SCROLL_INDICATOR_START, SCROLL_INDICATOR_TOP, SCROLLBAR_POSITION_DEFAULT, SCROLLBAR_POSITION_LEFT, SCROLLBAR_POSITION_RIGHT, SCROLLBARS_INSIDE_INSET, SCROLLBARS_INSIDE_OVERLAY, SCROLLBARS_OUTSIDE_INSET, SCROLLBARS_OUTSIDE_OVERLAY, SELECTED_STATE_SET, SELECTED_WINDOW_FOCUSED_STATE_SET, SOUND_EFFECTS_ENABLED, STATUS_BAR_HIDDEN, STATUS_BAR_VISIBLE, SYSTEM_UI_FLAG_FULLSCREEN, SYSTEM_UI_FLAG_HIDE_NAVIGATION, SYSTEM_UI_FLAG_IMMERSIVE, SYSTEM_UI_FLAG_IMMERSIVE_STICKY, SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN, SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION, SYSTEM_UI_FLAG_LAYOUT_STABLE, SYSTEM_UI_FLAG_LIGHT_NAVIGATION_BAR, SYSTEM_UI_FLAG_LIGHT_STATUS_BAR, SYSTEM_UI_FLAG_LOW_PROFILE, SYSTEM_UI_FLAG_VISIBLE, SYSTEM_UI_LAYOUT_FLAGS, TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_GRAVITY, TEXT_ALIGNMENT_INHERIT, TEXT_ALIGNMENT_TEXT_END, TEXT_ALIGNMENT_TEXT_START, TEXT_ALIGNMENT_VIEW_END, TEXT_ALIGNMENT_VIEW_START, TEXT_DIRECTION_ANY_RTL, TEXT_DIRECTION_FIRST_STRONG, TEXT_DIRECTION_FIRST_STRONG_LTR, TEXT_DIRECTION_FIRST_STRONG_RTL, TEXT_DIRECTION_INHERIT, TEXT_DIRECTION_LOCALE, TEXT_DIRECTION_LTR, TEXT_DIRECTION_RTL, TRANSLATION_X, TRANSLATION_Y, TRANSLATION_Z, VIEW_LOG_TAG, VISIBLE, WINDOW_FOCUSED_STATE_SET, X, Y, Z
      • Fields inherited from class android.view.ViewGroup

        CLIP_TO_PADDING_MASK, FOCUS_AFTER_DESCENDANTS, FOCUS_BEFORE_DESCENDANTS, FOCUS_BLOCK_DESCENDANTS, LAYOUT_MODE_CLIP_BOUNDS, LAYOUT_MODE_OPTICAL_BOUNDS, PERSISTENT_ALL_CACHES, PERSISTENT_ANIMATION_CACHE, PERSISTENT_NO_CACHE, PERSISTENT_SCROLLING_CACHE
    • Method Summary

      All Methods Instance Methods Abstract Methods Concrete Methods 
      Modifier and Type Method Description
      void addAttributionTextChangedListener​(AttributionTextChangedListener listener)
      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.
      void addAttributionViewLayoutChangeListener​(android.view.View.OnLayoutChangeListener layoutChangeListener)
      Registers a listener that will be called when the bounds of the attribution view change due to expanding or collapsing.
      void addDrawStatusChangedListener​(DrawStatusChangedListener listener)
      Registers a DrawStatusChangedListener to be called when the DrawStatus of the MapView changes, for example when the map initially finishes loading, or tiles and features are finished loading after map navigation.
      void addLayerViewStateChangedListener​(LayerViewStateChangedListener listener)
      Register a LayerViewStateChangedListener to be called when the view state of any layer in the map changes, for example if a layer goes in or out of visible scale range, or is made visible or not visible.
      void addNavigationChangedListener​(NavigationChangedListener listener)
      Adds a NavigationChangedListener to be called when the navigation state of this view has changed.
      void addSpatialReferenceChangedListener​(SpatialReferenceChangedListener listener)
      Registers a SpatialReferenceChangedListener to be called when the SpatialReference of the MapView changes, for example if a new ArcGISMap with a different SpatialReference is loaded.
      void addViewpointChangedListener​(ViewpointChangedListener listener)
      Registers a ViewpointChangedListener to be called when the Viewpoint of the GeoView changes, for example when the ArcGISMap is navigated interactively by the user, or programmatically by calling a setViewpoint method.
      void dispose()
      Releases resources.
      ListenableFuture<android.graphics.Bitmap> exportImageAsync()
      Asynchronously exports the GeoView into a Bitmap.
      String getAttributionText()
      Gets a concatenated string with attribution text for all layers.
      Viewpoint getCurrentViewpoint​(Viewpoint.Type viewpointType)
      Gets a Viewpoint of the given Viewpoint.Type, describing the visible area and view location of the map.
      DrawStatus getDrawStatus()
      Returns the current draw status.
      ListenableList<GraphicsOverlay> getGraphicsOverlays()
      Gets a modifiable listenable list of the graphics overlays.
      EnumSet<LayerViewStatus> getLayerViewState​(Layer layer)
      Returns a set of view states that apply to the given layer.
      SelectionProperties getSelectionProperties()
      Returns the selection properties that are applied to a GeoView.
      abstract SpatialReference getSpatialReference()
      Gets the SpatialReference of this GeoView.
      TimeExtent getTimeExtent()
      Gets the current time extent.
      ListenableFuture<IdentifyGraphicsOverlayResult> identifyGraphicsOverlayAsync​(GraphicsOverlay graphicsOverlay, android.graphics.Point screenPoint, double tolerance, boolean returnPopupsOnly)
      Asynchronously identifies the topmost visible graphic in the given graphics overlay, at the given screen point.
      ListenableFuture<IdentifyGraphicsOverlayResult> identifyGraphicsOverlayAsync​(GraphicsOverlay graphicsOverlay, android.graphics.Point screenPoint, double tolerance, boolean returnPopupsOnly, int maximumResults)
      Asynchronously identifies the visible graphics in the given graphics overlay, at the given screen point.
      ListenableFuture<List<IdentifyGraphicsOverlayResult>> identifyGraphicsOverlaysAsync​(android.graphics.Point screenPoint, double tolerance, boolean returnPopupsOnly)
      Asynchronously identifies the topmost visible graphic in each graphics overlay in this view, at the given screen point.
      ListenableFuture<List<IdentifyGraphicsOverlayResult>> identifyGraphicsOverlaysAsync​(android.graphics.Point screenPoint, double tolerance, boolean returnPopupsOnly, int maximumResults)
      Asynchronously identifies the visible graphics at the given screen point in all graphics overlays in this view.
      ListenableFuture<IdentifyLayerResult> identifyLayerAsync​(Layer layer, android.graphics.Point screenPoint, double tolerance, boolean returnPopupsOnly)
      Asynchronously identifies the topmost visible GeoElement in the given layer.
      ListenableFuture<IdentifyLayerResult> identifyLayerAsync​(Layer layer, android.graphics.Point screenPoint, double tolerance, boolean returnPopupsOnly, int maximumResults)
      Asynchronously identifies GeoElements in the given layer.
      ListenableFuture<List<IdentifyLayerResult>> identifyLayersAsync​(android.graphics.Point screenPoint, double tolerance, boolean returnPopupsOnly)
      Asynchronously identifies the topmost visible GeoElement in each identifiable layer in the map.
      ListenableFuture<List<IdentifyLayerResult>> identifyLayersAsync​(android.graphics.Point screenPoint, double tolerance, boolean returnPopupsOnly, int maximumResults)
      Asynchronously identifies GeoElements on all identifiable layers in the map.
      boolean isAttributionTextVisible()
      Indicates whether the Esri attribution text is visible or not.
      boolean isNavigating()
      Indicates if the viewpoint of the map is currently being changed.
      boolean isWrapAroundEnabled()
      Indicates whether wrap around map display is enabled or not.
      protected abstract void onDrawFrame​(javax.microedition.khronos.opengles.GL10 gl)
      Called to draw the current frame.
      void pause()
      Pauses the drawing of the GeoView.
      boolean removeAttributionTextChangedListener​(AttributionTextChangedListener listener)
      Unregisters an AttributionTextChangedListener that was previously added using addAttributionTextChangedListener(AttributionTextChangedListener).
      void removeAttributionViewLayoutChangeListener​(android.view.View.OnLayoutChangeListener layoutChangeListener)
      Unregisters a listener for the attribution view layout changes.
      boolean removeDrawStatusChangedListener​(DrawStatusChangedListener listener)
      Unregisters the given DrawStatusChangedListener that was previously added using addDrawStatusChangedListener(DrawStatusChangedListener).
      boolean removeLayerViewStateChangedListener​(LayerViewStateChangedListener listener)
      Unregisters the given LayerViewStateChangedListener that was previously added using addLayerViewStateChangedListener(LayerViewStateChangedListener).
      boolean removeNavigationChangedListener​(NavigationChangedListener listener)
      Unregisters the given NavigationChangedListener that was previously added using addNavigationChangedListener(NavigationChangedListener).
      boolean removeSpatialReferenceChangedListener​(SpatialReferenceChangedListener listener)
      Unregisters the given SpatialReferenceChangedListener that was previously added using addSpatialReferenceChangedListener(SpatialReferenceChangedListener).
      boolean removeViewpointChangedListener​(ViewpointChangedListener listener)
      Unregisters a ViewpointChangedListener that was previously added using addViewpointChangedListener(ViewpointChangedListener).
      void resume()
      Resumes the drawing of the GeoView that has been paused, restarting the display of the contained ArcGISMap.
      void setAttributionTextVisible​(boolean visible)
      Sets the visibility of the Esri attribution text, this is visible by default.
      ListenableFuture<Boolean> setBookmarkAsync​(Bookmark bookmark)
      Asynchronously sets the bookmark, which consequently applies the viewpoint within the bookmark to the GeoView.
      void setTimeExtent​(TimeExtent timeExtent)
      Sets the time extent of the GeoView.
      void setViewpoint​(Viewpoint viewpoint)
      Zooms and/or pans the map to the given Viewpoint.
      ListenableFuture<Boolean> setViewpointAsync​(Viewpoint viewpoint)
      Asynchronously zooms and/or pans the map or scene to the given Viewpoint.
      ListenableFuture<Boolean> setViewpointAsync​(Viewpoint viewpoint, float durationSeconds)
      Asynchronously zooms and/or pans the map or scene to the given Viewpoint, taking the given number of seconds to complete the navigation.
      • Methods inherited from class android.view.View

        addExtraDataToAccessibilityNodeInfo, addFocusables, addOnAttachStateChangeListener, addOnLayoutChangeListener, addOnUnhandledKeyEventListener, animate, announceForAccessibility, autofill, autofill, awakenScrollBars, awakenScrollBars, awakenScrollBars, bringToFront, buildDrawingCache, buildDrawingCache, buildLayer, callOnClick, cancelDragAndDrop, cancelLongPress, cancelPendingInputEvents, canResolveLayoutDirection, canResolveTextAlignment, canResolveTextDirection, canScrollHorizontally, canScrollVertically, checkInputConnectionProxy, clearAnimation, combineMeasuredStates, computeHorizontalScrollExtent, computeHorizontalScrollOffset, computeHorizontalScrollRange, computeScroll, computeSystemWindowInsets, computeVerticalScrollExtent, computeVerticalScrollOffset, computeVerticalScrollRange, createAccessibilityNodeInfo, createContextMenu, destroyDrawingCache, dispatchGenericMotionEvent, dispatchNestedFling, dispatchNestedPreFling, dispatchNestedPrePerformAccessibilityAction, dispatchNestedPreScroll, dispatchNestedScroll, dispatchPopulateAccessibilityEvent, draw, drawableHotspotChanged, findViewById, findViewWithTag, fitSystemWindows, focusSearch, forceHasOverlappingRendering, forceLayout, generateViewId, getAccessibilityLiveRegion, getAccessibilityNodeProvider, getAccessibilityPaneTitle, getAccessibilityTraversalAfter, getAccessibilityTraversalBefore, getAlpha, getAnimation, getApplicationWindowToken, getAutofillHints, getAutofillId, getAutofillType, getAutofillValue, getBackground, getBackgroundTintList, getBackgroundTintMode, getBaseline, getBottom, getBottomFadingEdgeStrength, getBottomPaddingOffset, getCameraDistance, getClipBounds, getClipBounds, getClipToOutline, getContentDescription, getContext, getContextMenuInfo, getDefaultFocusHighlightEnabled, getDefaultSize, getDisplay, getDrawableState, getDrawingCache, getDrawingCache, getDrawingCacheBackgroundColor, getDrawingCacheQuality, getDrawingRect, getDrawingTime, getElevation, getFilterTouchesWhenObscured, getFitsSystemWindows, getFocusable, getFocusables, getFocusedRect, getForeground, getForegroundGravity, getForegroundTintList, getForegroundTintMode, getGlobalVisibleRect, getGlobalVisibleRect, getHandler, getHasOverlappingRendering, getHeight, getHitRect, getHorizontalFadingEdgeLength, getHorizontalScrollbarHeight, getId, getImportantForAccessibility, getImportantForAutofill, getKeepScreenOn, getKeyDispatcherState, getLabelFor, getLayerType, getLayoutDirection, getLayoutParams, getLeft, getLeftFadingEdgeStrength, getLeftPaddingOffset, getLocalVisibleRect, getLocationInWindow, getLocationOnScreen, getMatrix, getMeasuredHeight, getMeasuredHeightAndState, getMeasuredState, getMeasuredWidth, getMeasuredWidthAndState, getMinimumHeight, getMinimumWidth, getNextClusterForwardId, getNextFocusDownId, getNextFocusForwardId, getNextFocusLeftId, getNextFocusRightId, getNextFocusUpId, getOnFocusChangeListener, getOutlineAmbientShadowColor, getOutlineProvider, getOutlineSpotShadowColor, getOverScrollMode, getPaddingBottom, getPaddingEnd, getPaddingLeft, getPaddingRight, getPaddingStart, getPaddingTop, getParent, getParentForAccessibility, getPivotX, getPivotY, getPointerIcon, getResources, getRevealOnFocusHint, getRight, getRightFadingEdgeStrength, getRightPaddingOffset, getRootView, getRootWindowInsets, getRotation, getRotationX, getRotationY, getScaleX, getScaleY, getScrollBarDefaultDelayBeforeFade, getScrollBarFadeDuration, getScrollBarSize, getScrollBarStyle, getScrollIndicators, getScrollX, getScrollY, getSolidColor, getStateListAnimator, getSuggestedMinimumHeight, getSuggestedMinimumWidth, getSystemUiVisibility, getTag, getTag, getTextAlignment, getTextDirection, getTooltipText, getTop, getTopFadingEdgeStrength, getTopPaddingOffset, getTouchables, getTouchDelegate, getTransitionName, getTranslationX, getTranslationY, getTranslationZ, getVerticalFadingEdgeLength, getVerticalScrollbarPosition, getVerticalScrollbarWidth, getViewTreeObserver, getVisibility, getWidth, getWindowAttachCount, getWindowId, getWindowSystemUiVisibility, getWindowToken, getWindowVisibility, getWindowVisibleDisplayFrame, getX, getY, getZ, hasExplicitFocusable, hasFocusable, hasNestedScrollingParent, hasOnClickListeners, hasOverlappingRendering, hasPointerCapture, hasWindowFocus, inflate, invalidate, invalidate, invalidate, invalidateDrawable, invalidateOutline, isAccessibilityFocused, isAccessibilityHeading, isActivated, isAttachedToWindow, isClickable, isContextClickable, isDirty, isDrawingCacheEnabled, isDuplicateParentStateEnabled, isEnabled, isFocusable, isFocusableInTouchMode, isFocused, isFocusedByDefault, isHapticFeedbackEnabled, isHardwareAccelerated, isHorizontalFadingEdgeEnabled, isHorizontalScrollBarEnabled, isHovered, isImportantForAccessibility, isImportantForAutofill, isInEditMode, isInLayout, isInTouchMode, isKeyboardNavigationCluster, isLaidOut, isLayoutDirectionResolved, isLayoutRequested, isLongClickable, isNestedScrollingEnabled, isOpaque, isPaddingOffsetRequired, isPaddingRelative, isPivotSet, isPressed, isSaveEnabled, isSaveFromParentEnabled, isScreenReaderFocusable, isScrollbarFadingEnabled, isScrollContainer, isSelected, isShown, isSoundEffectsEnabled, isTemporarilyDetached, isTextAlignmentResolved, isTextDirectionResolved, isVerticalFadingEdgeEnabled, isVerticalScrollBarEnabled, isVisibleToUserForAutofill, keyboardNavigationClusterSearch, measure, mergeDrawableStates, offsetLeftAndRight, offsetTopAndBottom, onAnimationEnd, onAnimationStart, onApplyWindowInsets, onCancelPendingInputEvents, onCapturedPointerEvent, onCheckIsTextEditor, onConfigurationChanged, onCreateContextMenu, onCreateInputConnection, onDisplayHint, onDragEvent, onDraw, onDrawForeground, onDrawScrollBars, onFilterTouchEventForSecurity, onFinishInflate, onFinishTemporaryDetach, onFocusChanged, onGenericMotionEvent, onHoverChanged, onHoverEvent, onInitializeAccessibilityEvent, onInitializeAccessibilityNodeInfo, onKeyDown, onKeyLongPress, onKeyMultiple, onKeyPreIme, onKeyShortcut, onKeyUp, onMeasure, onOverScrolled, onPointerCaptureChange, onPopulateAccessibilityEvent, onProvideAutofillStructure, onProvideAutofillVirtualStructure, onProvideStructure, onProvideVirtualStructure, onRestoreInstanceState, onRtlPropertiesChanged, onSaveInstanceState, onScreenStateChanged, onScrollChanged, onSetAlpha, onSizeChanged, onStartTemporaryDetach, onTouchEvent, onTrackballEvent, onVisibilityAggregated, onVisibilityChanged, onWindowFocusChanged, onWindowSystemUiVisibilityChanged, onWindowVisibilityChanged, overScrollBy, performAccessibilityAction, performClick, performContextClick, performContextClick, performHapticFeedback, performHapticFeedback, performLongClick, performLongClick, playSoundEffect, post, postDelayed, postInvalidate, postInvalidate, postInvalidateDelayed, postInvalidateDelayed, postInvalidateOnAnimation, postInvalidateOnAnimation, postOnAnimation, postOnAnimationDelayed, refreshDrawableState, releasePointerCapture, removeCallbacks, removeOnAttachStateChangeListener, removeOnLayoutChangeListener, removeOnUnhandledKeyEventListener, requestApplyInsets, requestFitSystemWindows, requestFocus, requestFocus, requestFocusFromTouch, requestLayout, requestPointerCapture, requestRectangleOnScreen, requestRectangleOnScreen, requestUnbufferedDispatch, requireViewById, resetPivot, resolveSize, resolveSizeAndState, restoreHierarchyState, saveHierarchyState, scheduleDrawable, scrollBy, scrollTo, sendAccessibilityEvent, sendAccessibilityEventUnchecked, setAccessibilityDelegate, setAccessibilityHeading, setAccessibilityLiveRegion, setAccessibilityPaneTitle, setAccessibilityTraversalAfter, setAccessibilityTraversalBefore, setActivated, setAlpha, setAnimation, setAutofillHints, setAutofillId, setBackground, setBackgroundColor, setBackgroundDrawable, setBackgroundResource, setBackgroundTintList, setBackgroundTintMode, setBottom, setCameraDistance, setClickable, setClipBounds, setClipToOutline, setContentDescription, setContextClickable, setDefaultFocusHighlightEnabled, setDrawingCacheBackgroundColor, setDrawingCacheEnabled, setDrawingCacheQuality, setDuplicateParentStateEnabled, setElevation, setEnabled, setFadingEdgeLength, setFilterTouchesWhenObscured, setFitsSystemWindows, setFocusable, setFocusable, setFocusableInTouchMode, setFocusedByDefault, setForeground, setForegroundGravity, setForegroundTintList, setForegroundTintMode, setHapticFeedbackEnabled, setHasTransientState, setHorizontalFadingEdgeEnabled, setHorizontalScrollBarEnabled, setHovered, setId, setImportantForAccessibility, setImportantForAutofill, setKeepScreenOn, setKeyboardNavigationCluster, setLabelFor, setLayerPaint, setLayerType, setLayoutDirection, setLayoutParams, setLeft, setLongClickable, setMeasuredDimension, setMinimumHeight, setMinimumWidth, setNestedScrollingEnabled, setNextClusterForwardId, setNextFocusDownId, setNextFocusForwardId, setNextFocusLeftId, setNextFocusRightId, setNextFocusUpId, setOnApplyWindowInsetsListener, setOnCapturedPointerListener, setOnClickListener, setOnContextClickListener, setOnCreateContextMenuListener, setOnDragListener, setOnFocusChangeListener, setOnGenericMotionListener, setOnHoverListener, setOnKeyListener, setOnLongClickListener, setOnScrollChangeListener, setOnSystemUiVisibilityChangeListener, setOnTouchListener, setOutlineAmbientShadowColor, setOutlineProvider, setOutlineSpotShadowColor, setOverScrollMode, setPadding, setPaddingRelative, setPivotX, setPivotY, setPointerIcon, setPressed, setRevealOnFocusHint, setRight, setRotation, setRotationX, setRotationY, setSaveEnabled, setSaveFromParentEnabled, setScaleX, setScaleY, setScreenReaderFocusable, setScrollBarDefaultDelayBeforeFade, setScrollBarFadeDuration, setScrollbarFadingEnabled, setScrollBarSize, setScrollBarStyle, setScrollContainer, setScrollIndicators, setScrollIndicators, setScrollX, setScrollY, setSelected, setSoundEffectsEnabled, setStateListAnimator, setSystemUiVisibility, setTag, setTag, setTextAlignment, setTextDirection, setTooltipText, setTop, setTouchDelegate, setTransitionName, setTranslationX, setTranslationY, setTranslationZ, setVerticalFadingEdgeEnabled, setVerticalScrollBarEnabled, setVerticalScrollbarPosition, setVisibility, setWillNotCacheDrawing, setWillNotDraw, setX, setY, setZ, showContextMenu, showContextMenu, startActionMode, startActionMode, startAnimation, startDrag, startDragAndDrop, startNestedScroll, stopNestedScroll, toString, unscheduleDrawable, unscheduleDrawable, updateDragShadow, verifyDrawable, willNotCacheDrawing, willNotDraw
      • Methods inherited from class android.view.ViewGroup

        addChildrenForAccessibility, addFocusables, addKeyboardNavigationClusters, addStatesFromChildren, addTouchables, addView, addView, addView, addView, addView, addViewInLayout, addViewInLayout, attachLayoutAnimationParameters, attachViewToParent, bringChildToFront, canAnimate, checkLayoutParams, childDrawableStateChanged, childHasTransientStateChanged, cleanupLayoutState, clearChildFocus, clearDisappearingChildren, clearFocus, debug, detachAllViewsFromParent, detachViewFromParent, detachViewFromParent, detachViewsFromParent, dispatchApplyWindowInsets, dispatchCapturedPointerEvent, dispatchConfigurationChanged, dispatchDisplayHint, dispatchDragEvent, dispatchDraw, dispatchDrawableHotspotChanged, dispatchFinishTemporaryDetach, dispatchFreezeSelfOnly, dispatchGenericFocusedEvent, dispatchGenericPointerEvent, dispatchHoverEvent, dispatchKeyEvent, dispatchKeyEventPreIme, dispatchKeyShortcutEvent, dispatchPointerCaptureChanged, dispatchProvideAutofillStructure, dispatchProvideStructure, dispatchRestoreInstanceState, dispatchSaveInstanceState, dispatchSetActivated, dispatchSetPressed, dispatchSetSelected, dispatchStartTemporaryDetach, dispatchSystemUiVisibilityChanged, dispatchThawSelfOnly, dispatchTouchEvent, dispatchTrackballEvent, dispatchUnhandledMove, dispatchVisibilityChanged, dispatchWindowFocusChanged, dispatchWindowSystemUiVisiblityChanged, dispatchWindowVisibilityChanged, drawableStateChanged, drawChild, endViewTransition, findFocus, findViewsWithText, focusableViewAvailable, focusSearch, gatherTransparentRegion, generateDefaultLayoutParams, generateLayoutParams, generateLayoutParams, getAccessibilityClassName, getChildAt, getChildCount, getChildDrawingOrder, getChildMeasureSpec, getChildStaticTransformation, getChildVisibleRect, getClipChildren, getClipToPadding, getDescendantFocusability, getFocusedChild, getLayoutAnimation, getLayoutAnimationListener, getLayoutMode, getLayoutTransition, getNestedScrollAxes, getOverlay, getPersistentDrawingCache, getTouchscreenBlocksFocus, hasFocus, hasTransientState, indexOfChild, invalidateChild, invalidateChildInParent, isAlwaysDrawnWithCacheEnabled, isAnimationCacheEnabled, isChildrenDrawingOrderEnabled, isChildrenDrawnWithCacheEnabled, isMotionEventSplittingEnabled, isTransitionGroup, jumpDrawablesToCurrentState, layout, measureChild, measureChildren, measureChildWithMargins, notifySubtreeAccessibilityStateChanged, offsetDescendantRectToMyCoords, offsetRectIntoDescendantCoords, onAttachedToWindow, onCreateDrawableState, onDescendantInvalidated, onDetachedFromWindow, onInterceptHoverEvent, onInterceptTouchEvent, onLayout, onNestedFling, onNestedPreFling, onNestedPrePerformAccessibilityAction, onNestedPreScroll, onNestedScroll, onNestedScrollAccepted, onRequestFocusInDescendants, onRequestSendAccessibilityEvent, onResolvePointerIcon, onStartNestedScroll, onStopNestedScroll, onViewAdded, onViewRemoved, recomputeViewAttributes, removeAllViews, removeAllViewsInLayout, removeDetachedView, removeView, removeViewAt, removeViewInLayout, removeViews, removeViewsInLayout, requestChildFocus, requestChildRectangleOnScreen, requestDisallowInterceptTouchEvent, requestFocus, requestSendAccessibilityEvent, requestTransparentRegion, restoreDefaultFocus, scheduleLayoutAnimation, setAddStatesFromChildren, setAlwaysDrawnWithCacheEnabled, setAnimationCacheEnabled, setChildrenDrawingCacheEnabled, setChildrenDrawingOrderEnabled, setChildrenDrawnWithCacheEnabled, setClipChildren, setClipToPadding, setDescendantFocusability, setLayoutAnimation, setLayoutAnimationListener, setLayoutMode, setLayoutTransition, setMotionEventSplittingEnabled, setOnHierarchyChangeListener, setPersistentDrawingCache, setStaticTransformationsEnabled, setTouchscreenBlocksFocus, setTransitionGroup, shouldDelayChildPressedState, showContextMenuForChild, showContextMenuForChild, startActionModeForChild, startActionModeForChild, startLayoutAnimation, startViewTransition, updateViewLayout
      • Methods inherited from interface android.view.ViewParent

        canResolveLayoutDirection, canResolveTextAlignment, canResolveTextDirection, createContextMenu, getLayoutDirection, getParent, getParentForAccessibility, getTextAlignment, getTextDirection, isLayoutDirectionResolved, isLayoutRequested, isTextAlignmentResolved, isTextDirectionResolved, keyboardNavigationClusterSearch, requestFitSystemWindows, requestLayout
    • Method Detail

      • getDrawStatus

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

        public boolean isAttributionTextVisible()
        Indicates whether the Esri attribution text is visible or not. The Esri attribution text is shown as a semi-transparent view at the bottom of the GeoView spanning its full width.
        Returns:
        true if the attribution text is visible; false otherwise. Default it true.
        Since:
        100.0.0
        See Also:
        setAttributionTextVisible(boolean)
      • setAttributionTextVisible

        public void setAttributionTextVisible​(boolean visible)
        Sets the visibility of the Esri attribution text, this is visible by default. The Esri attribution text is shown as a semi-transparent view at the base of the GeoView spanning its full width.
        Parameters:
        visible - true to set attribution text visible; false otherwise
        Since:
        100.0.0
        See Also:
        isAttributionTextVisible()
      • getAttributionText

        public String getAttributionText()
        Gets a concatenated string with attribution text for all layers.
        Returns:
        a concatenated string with attribution text for all layers
        Since:
        100.1.0
      • isNavigating

        public boolean isNavigating()
        Indicates if the viewpoint of the map is currently being changed. Reflects both animation of programmatic changes to the map viewpoint, and user interaction with the map.
        Returns:
        true, if this map is currently animating a viewpoint change, or a map navigation gesture is in progress; false otherwise
        Since:
        100.0.0
      • isWrapAroundEnabled

        public boolean isWrapAroundEnabled()
        Indicates whether wrap around map display is enabled or not. When enabled, the map can be panned continuously across the anti-meridian, and the eastern and western hemispheres wrap to form a continuous map, giving the impression that the map is endless.

        To enable wrap around map display for a MapView, call MapView.setWrapAroundMode(WrapAroundMode) and pass in WrapAroundMode.ENABLE_WHEN_SUPPORTED. Note that there are some requirements for the map in this case; see WrapAroundMode.ENABLE_WHEN_SUPPORTED for more information.

        Note that if wrap around display is enabled, geometries returned from 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, they should be normalized to lie within the spatial reference domain.

        Returns:
        true if the map is currently displayed wrapped around; false otherwise
        Since:
        100.0.0
        See Also:
        MapView.getWrapAroundMode(), MapView.setWrapAroundMode(WrapAroundMode)
      • setViewpoint

        public void setViewpoint​(Viewpoint viewpoint)
        Zooms and/or pans the map to the given Viewpoint. This method does not use animation - the viewpoint is updated instantaneously.
        Parameters:
        viewpoint - the new Viewpoint
        Throws:
        IllegalArgumentException - if the argument is null
        Since:
        100.0.0
      • setViewpointAsync

        public ListenableFuture<Boolean> setViewpointAsync​(Viewpoint viewpoint)
        Asynchronously zooms and/or pans the map or scene to the given Viewpoint. This method uses the standard animation duration; alternatively use setViewpointAsync(Viewpoint, float) to control the animation duration.
        Parameters:
        viewpoint - the new Viewpoint
        Returns:
        a ListenableFuture representing the result of the Viewpoint change. Add a listener to the future to be notified when animation is finished. The result of the future indicates if the operation completed successfully.
        Throws:
        IllegalArgumentException - if the argument is null
        Since:
        100.0.0
      • setViewpointAsync

        public ListenableFuture<Boolean> setViewpointAsync​(Viewpoint viewpoint,
                                                           float durationSeconds)
        Asynchronously zooms and/or pans the map or scene to the given Viewpoint, taking the given number of seconds to complete the navigation. Alternatively use setViewpointAsync(Viewpoint) to use the standard duration.
        Parameters:
        viewpoint - the new Viewpoint
        durationSeconds - the duration of the animation to the new Viewpoint, in seconds
        Returns:
        a ListenableFuture representing the result of the Viewpoint change. Add a listener to the future to be notified when animation is finished. The result of the future indicates if the operation completed successfully.
        Throws:
        IllegalArgumentException - if viewpoint is null
        Since:
        100.0.0
      • getCurrentViewpoint

        public Viewpoint getCurrentViewpoint​(Viewpoint.Type viewpointType)
        Gets a Viewpoint of the given Viewpoint.Type, describing the visible area and view location of the map.

        Not all types of Viewpoint are applicable to all subtypes of GeoView; Type.CAMERA is not applicable to the MapView for example.

        Parameters:
        viewpointType - the type of Viewpoint to return
        Returns:
        the requested type of Viewpoint
        Throws:
        IllegalArgumentException - if the argument is null
        Since:
        100.0.0
      • getLayerViewState

        public EnumSet<LayerViewStatus> getLayerViewState​(Layer layer)
        Returns a set of view states that apply to the given layer. This can be used, for example, to report layer status in a map legend or table of contents.

        Each layer may have more than one view status; for example, a layer may be LOADING, and therefore NOT_VISIBLE, or may be NOT_VISIBLE because it is currently OUT_OF_SCALE. If the layer is ACTIVE, this will be the only view state returned. For child layers of group layers, the parent layers status is taken into account.

        Parameters:
        layer - the layer
        Returns:
        the layer view status(es) which apply to the given layer
        Throws:
        IllegalArgumentException - if the argument is null
        Since:
        100.0.0
      • addNavigationChangedListener

        public void addNavigationChangedListener​(NavigationChangedListener listener)
        Adds a NavigationChangedListener to be called when the navigation state of this view has changed.

        As this listener will be called less frequently than the ViewpointChangedListener, you can use this to perform operations that are more expensive extent-based operations; note however that navigation may begin again at any time. This method is called when isNavigating() changes.

        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:
        NullPointerException - if the argument is null
        Since:
        100.0.0
        See Also:
        removeNavigationChangedListener(NavigationChangedListener)
      • addViewpointChangedListener

        public void addViewpointChangedListener​(ViewpointChangedListener listener)
        Registers a ViewpointChangedListener to be called when the Viewpoint of the GeoView changes, for example when the ArcGISMap is navigated interactively by the user, or programmatically by calling a setViewpoint method.

        This listener may be called very frequently, therefore should perform only very short operations. If more extensive work is required, consider using NavigationChangedListener instead.

        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 the argument is null
        Since:
        100.0.0
        See Also:
        removeViewpointChangedListener(ViewpointChangedListener)
      • getGraphicsOverlays

        public ListenableList<GraphicsOverlay> getGraphicsOverlays()
        Gets a modifiable listenable list of the graphics overlays. Add or remove graphics overlays from this list to change the graphics overlays displayed. The list returned may be empty, but is never null.

        You can add listeners to the returned list to be notified when graphics overlays are added to, or removed from, this View. Use identifyGraphicsOverlayAsync to find the graphics at a specific screen location in a graphics overlay in this list.

        Returns:
        the list of graphics overlays currently in this view
        Since:
        100.0.0
      • identifyGraphicsOverlayAsync

        public ListenableFuture<IdentifyGraphicsOverlayResult> identifyGraphicsOverlayAsync​(GraphicsOverlay graphicsOverlay,
                                                                                            android.graphics.Point screenPoint,
                                                                                            double tolerance,
                                                                                            boolean returnPopupsOnly,
                                                                                            int maximumResults)
        Asynchronously identifies the visible graphics in the given graphics overlay, at the given screen 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, in density-independent pixels (dp). The results returned will include any visible graphics that, when rendered with the appropriate symbols, intersect this circle, up to the maximumResults parameter limit.

        The identified graphic(s) are returned from IdentifyGraphicsOverlayResult.getGraphics(), subject to the returnPopupsOnly parameter. If the overlay is an enabled PopupSource, then the IdentifyGraphicsOverlayResult.getPopups() list will also contain pop-ups.

        Parameters:
        graphicsOverlay - the graphics overlay in which to identify graphics
        screenPoint - the screen point at which to identify graphics
        tolerance - the radius in density-independent pixels (dp) of a circle centered at screenPoint within which to identify graphics. A value of 0 will identify only the graphics at the physical pixel at screenPoint. The maximum allowed value is 100dp
        returnPopupsOnly - true to include pop-ups but no graphics in the identify results; false to include both graphics and pop-ups
        maximumResults - the maximum number of graphics and/or pop-ups to be returned; must be greater than zero with the exception that -1 can be used to indicate 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:
        IllegalArgumentException - if
        • graphicsOverlay is null
        • screenPoint is null
        • tolerance less than zero or greater than 100
        • maximumResults is zero or less than -1
        ArcGISRuntimeException - if screenPoint translates to a point outside the current Viewpoint of this GeoView
        Since:
        100.0.0
      • identifyGraphicsOverlayAsync

        public ListenableFuture<IdentifyGraphicsOverlayResult> identifyGraphicsOverlayAsync​(GraphicsOverlay graphicsOverlay,
                                                                                            android.graphics.Point screenPoint,
                                                                                            double tolerance,
                                                                                            boolean returnPopupsOnly)
        Asynchronously identifies the topmost visible graphic in the given graphics overlay, at the given screen 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, in density-independent pixels (dp). The result returned will include the topmost visible graphic that, when rendered with the appropriate symbol, intersects this circle.

        The identified graphic is returned from IdentifyGraphicsOverlayResult.getGraphics(), subject to the returnPopupsOnly parameter. If the overlay is an enabled PopupSource, then the IdentifyGraphicsOverlayResult.getPopups() list will also contain a pop-up.

        Parameters:
        graphicsOverlay - the graphics overlay in which to identify the graphic
        screenPoint - the screen point in pixels at which to identify the graphic
        tolerance - the radius in density-independent pixels (dp) of a circle centered at screenPoint within which to identify graphics. A value of 0 will identify only the graphics at the physical pixel at screenPoint. The maximum allowed value is 100dp
        returnPopupsOnly - true to include a pop-up but no graphic in the identify results; false to include both a graphic and a pop-up
        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:
        IllegalArgumentException - if
        • graphicsOverlay is null
        • screenPoint is null
        • tolerance less than zero or greater than 100
        ArcGISRuntimeException - if screenPoint translates to a point outside the current Viewpoint of this GeoView
        Since:
        100.0.0
      • identifyGraphicsOverlaysAsync

        public ListenableFuture<List<IdentifyGraphicsOverlayResult>> identifyGraphicsOverlaysAsync​(android.graphics.Point screenPoint,
                                                                                                   double tolerance,
                                                                                                   boolean returnPopupsOnly,
                                                                                                   int maximumResults)
        Asynchronously identifies the visible graphics at the given screen point in all graphics overlays in this view.

        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, in density-independent pixels (dp). The results returned will include any visible graphics that, when rendered with the appropriate symbols, intersect this circle, up to the maximumResults parameter limit.

        The identified graphic(s) are returned from IdentifyGraphicsOverlayResult.getGraphics(), subject to the returnPopupsOnly parameter. If an overlay is an enabled PopupSource, then the IdentifyGraphicsOverlayResult.getPopups() list for that overlay will also contain pop-ups.

        Parameters:
        screenPoint - the screen point at which to identify graphics
        tolerance - the radius in density-independent pixels (dp) of a circle centered at screenPoint within which to identify graphics. A value of 0 will identify only the graphics at the physical pixel at screenPoint. The maximum allowed value is 100dp
        returnPopupsOnly - true to include pop-ups but no graphics in the identify results; false to include both graphics and pop-ups
        maximumResults - the maximum number of graphics and/or pop-ups to be returned; must be greater than zero with the exception that -1 can be used to indicate 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
        Throws:
        IllegalArgumentException - if
        • screenPoint is null
        • tolerance less than zero or greater than 100
        • maximumResults is zero or less than -1
        ArcGISRuntimeException - if screenPoint translates to a point outside the current Viewpoint of this GeoView
        Since:
        100.0.0
      • identifyGraphicsOverlaysAsync

        public ListenableFuture<List<IdentifyGraphicsOverlayResult>> identifyGraphicsOverlaysAsync​(android.graphics.Point screenPoint,
                                                                                                   double tolerance,
                                                                                                   boolean returnPopupsOnly)
        Asynchronously identifies the topmost visible graphic in each graphics overlay in this view, at the given screen 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, in density-independent pixels (dp). The result returned will include the topmost visible graphic per graphics overlay that, when rendered with the appropriate symbol, intersects this circle.

        The identified graphic is returned from IdentifyGraphicsOverlayResult.getGraphics(), subject to the returnPopupsOnly parameter. If an overlay is an enabled PopupSource, then the IdentifyGraphicsOverlayResult.getPopups() list will also contain a pop-up.

        Parameters:
        screenPoint - the screen point at which to identify graphics
        tolerance - the radius in density-independent pixels (dp) of a circle centered at screenPoint within which to identify graphics. A value of 0 will identify only the graphics at the physical pixel at screenPoint. The maximum allowed value is 100dp
        returnPopupsOnly - true to include pop-ups but no graphics in the identify results; false to include both graphics and pop-ups
        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
        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 of this GeoView
        Since:
        100.0.0
      • identifyLayerAsync

        public ListenableFuture<IdentifyLayerResult> identifyLayerAsync​(Layer layer,
                                                                        android.graphics.Point screenPoint,
                                                                        double tolerance,
                                                                        boolean returnPopupsOnly)
        Asynchronously identifies the topmost visible GeoElement in the given layer.

        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, in density-independent pixels (dp). The result returned will include the topmost visible GeoElement that, when rendered with the appropriate symbol, intersects this circle.

        The identified geo-element is returned from IdentifyLayerResult.getElements(), subject to the returnPopupsOnly parameter. If the layer is an enabled PopupSource, then the IdentifyLayerResult.getPopups() list will also contain a pop-up.

        Parameters:
        layer - layer searched in the identify operation
        screenPoint - the screen point to identify on
        tolerance - the radius in density-independent pixels (dp) of a circle centered at screenPoint within which to identify GeoElements. A value of 0 will identify only the GeoElements at the physical pixel at screenPoint. The maximum allowed value is 100dp
        returnPopupsOnly - true to include a pop-up but no geo-element in the identify results; false to include both a geo-element and a pop-up
        Returns:
        a ListenableFuture that provides an IdentifyLayerResult upon successful completion of the async operation
        Throws:
        IllegalArgumentException - if
        • layer is null
        • screenPoint is null
        • tolerance is less than zero or greater than 100
        ArcGISRuntimeException - if screenPoint translates to a point outside the current Viewpoint of this GeoView
        Since:
        100.0.0
        See Also:
        IdentifyLayerResult
      • identifyLayerAsync

        public ListenableFuture<IdentifyLayerResult> identifyLayerAsync​(Layer layer,
                                                                        android.graphics.Point screenPoint,
                                                                        double tolerance,
                                                                        boolean returnPopupsOnly,
                                                                        int maximumResults)
        Asynchronously identifies GeoElements in the given layer.

        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, in density-independent pixels (dp). The results returned will include any visible GeoElements that, when rendered with the appropriate symbols, intersect this circle, up to the maximumResults parameter limit.

        The identified geo-element is returned from IdentifyLayerResult.getElements(), subject to the returnPopupsOnly parameter. If the layer is an enabled PopupSource, then the IdentifyLayerResult.getPopups() list will also contain pop-ups.

        Parameters:
        layer - layer searched in the identify operation
        screenPoint - the screen point to identify on
        tolerance - the radius in density-independent pixels (dp) of a circle centered at screenPoint within which to identify GeoElements. A value of 0 will identify only the GeoElements at the physical pixel at screenPoint. The maximum allowed value is 100dp
        returnPopupsOnly - true to include pop-ups but no geo-elements in the identify results; false to include both geo-elements and pop-ups
        maximumResults - the maximum number of geo-elements and/or pop-ups to be returned; must be greater than zero with the exception that -1 can be used to indicate unlimited results
        Returns:
        a ListenableFuture that provides an IdentifyLayerResult upon successful completion of the async operation
        Throws:
        IllegalArgumentException - if
        • layer is null
        • screenPoint is null
        • tolerance is less than zero or greater than 100
        • maximumResults is zero or less than -1
        ArcGISRuntimeException - if screenPoint translates to a point outside the current Viewpoint of this GeoView
        Since:
        100.0.0
        See Also:
        IdentifyLayerResult
      • identifyLayersAsync

        public ListenableFuture<List<IdentifyLayerResult>> identifyLayersAsync​(android.graphics.Point screenPoint,
                                                                               double tolerance,
                                                                               boolean returnPopupsOnly)
        Asynchronously identifies the topmost visible GeoElement in each identifiable layer in the map.

        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, in density-independent pixels (dp). The result returned will include the topmost visible GeoElement per layer that, when rendered with the appropriate symbol, intersects this circle.

        The identified geo-element for each layer is returned from IdentifyLayerResult.getElements(), subject to the returnPopupsOnly parameter. If a layer is an enabled PopupSource, then the IdentifyLayerResult.getPopups() list will also contain a pop-up.

        Parameters:
        screenPoint - the screen point to identify on
        tolerance - the radius in density-independent pixels (dp) of a circle centered at screenPoint within which to identify geo-elements. A value of 0 will identify only the geo-element at the physical pixel at screenPoint. TThe maximum allowed value is 100dp
        returnPopupsOnly - true to include a pop-up but no geo-element in the identify results for each layer; false to include both a geo-element and a pop-up
        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 geo-element was identified; layers with no identified geo-element are not represented in the list
        Throws:
        IllegalArgumentException - if
        • screenPoint is null
        • tolerance is less than zero or greater than 100
        ArcGISRuntimeException - if screenPoint translates to a point outside the current Viewpoint of this GeoView
        Since:
        100.0.0
        See Also:
        IdentifyLayerResult
      • identifyLayersAsync

        public ListenableFuture<List<IdentifyLayerResult>> identifyLayersAsync​(android.graphics.Point screenPoint,
                                                                               double tolerance,
                                                                               boolean returnPopupsOnly,
                                                                               int maximumResults)
        Asynchronously identifies GeoElements on all identifiable layers in the map.

        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, in density-independent pixels (dp). The results returned will include any visible GeoElements that, when rendered with the appropriate symbols, intersect this circle, up to the maximumResults parameter limit.

        The identified geo-element(s) for each layer are returned from IdentifyLayerResult.getElements(), subject to the returnPopupsOnly parameter. If a layer is an enabled PopupSource, then the IdentifyLayerResult.getPopups() list will also contain pop-ups.

        Parameters:
        screenPoint - the screen point to identify on
        tolerance - the radius in density-independent pixels (dp) of a circle centered at screenPoint within which to identify GeoElements. A value of 0 will identify only the GeoElements at the physical pixel at screenPoint. The maximum allowed value is 100dp
        returnPopupsOnly - true to include pop-ups but no geo-elements in the identify results; false to include both geo-elements and pop-ups
        maximumResults - the maximum number of geo-elements and/or pop-ups to be returned; must be greater than zero with the exception that -1 can be used to indicate unlimited results
        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 geo-elements were identified; layers with no identified geo-elements are not represented in the list
        Throws:
        IllegalArgumentException - if
        • screenPoint is null
        • tolerance is less than zero or greater than 100
        • maximumResults is zero or less than -1
        ArcGISRuntimeException - if screenPoint translates to a point outside the current Viewpoint of this GeoView
        Since:
        100.0.0
        See Also:
        IdentifyLayerResult
      • exportImageAsync

        public ListenableFuture<android.graphics.Bitmap> exportImageAsync()
        Asynchronously exports the GeoView into a Bitmap. The Bitmap 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 Bitmap.
        Returns:
        a ListenableFuture that provides a Bitmap of current GeoView upon successful completion of the async 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
      • getTimeExtent

        public TimeExtent getTimeExtent()
        Gets the current time extent. 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.
        Returns:
        the time extent, or null if no time extent is set
        Since:
        100.3.0
      • getSelectionProperties

        public SelectionProperties getSelectionProperties()
        Returns the selection properties that are applied to a GeoView.
        Returns:
        the selection properties
        Since:
        100.4.0
      • dispose

        public void dispose()
        Releases resources. Call this when you are finished with a view.
        Since:
        100.0.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
      • addAttributionViewLayoutChangeListener

        public void addAttributionViewLayoutChangeListener​(android.view.View.OnLayoutChangeListener layoutChangeListener)
        Registers a listener that will be called when the bounds of the attribution view change due to expanding or collapsing.

        Here is an example to demonstrate how a FloatingActionButton object moves up and down corresponding to the change of the attribution view :

          FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
          final CoordinatorLayout.LayoutParams layoutParams = (CoordinatorLayout.LayoutParams)fab.getLayoutParams();
          mMapView.addAttributionViewLayoutChangeListener(new View.OnLayoutChangeListener() {
              @Override
              public void onLayoutChange(
              View v, int left, int top, int right, int bottom, int oldLeft, int oldTop, int oldRight, int oldBottom)
              {
                  int heightChanged = v.getHeight() - (oldBottom - oldTop);
                  layoutParams.bottomMargin += heightChanged;
              }
          });
         
        Parameters:
        layoutChangeListener - the listener that will be called when layout bounds change
        Throws:
        IllegalArgumentException - if layoutChangeListener is null
        Since:
        100.1.0
      • removeAttributionViewLayoutChangeListener

        public void removeAttributionViewLayoutChangeListener​(android.view.View.OnLayoutChangeListener layoutChangeListener)
        Unregisters a listener for the attribution view layout changes.
        Parameters:
        layoutChangeListener - the listener for layout bounds change
        Throws:
        IllegalArgumentException - if layoutChangeListener is null
        Since:
        100.1.0
      • pause

        public void pause()
        Pauses the drawing of the GeoView.

        This can be used to save resources when your application is minimized for example. Call this in the parent activity's onPause method. Ensure you have a corresponding call to resume().

        Since:
        100.0.0
      • resume

        public void resume()
        Resumes the drawing of the GeoView that has been paused, restarting the display of the contained ArcGISMap. You can call this in the parent activity's onResume method, after a corresponding call to pause().
        Since:
        100.0.0
      • onDrawFrame

        protected abstract void onDrawFrame​(javax.microedition.khronos.opengles.GL10 gl)
        Called to draw the current frame.
        Parameters:
        gl - the GL interface
        Since:
        100.1.0