ArcGISMapViewController class final
A user interface control that displays two-dimensional (2D) geographic content defined by an ArcGISMap.
An ArcGISMapViewController is a user interface that displays ArcGISMap layers and graphics in 2D. It controls the area (extent) of the ArcGISMap that is visible and supports user interactions such as pan and zoom. A map view also provides access to the underlying layer data in a map.
To display an ArcGISMap, add an ArcGISMapViewController control to your app and assign the map to it. This loads the map and its content, such as a Basemap and collection of operational layers, and displays this content on screen.
User interactions such as pan, zoom, rotate, and identify or selection are supported in the ArcGISMapViewController using touch, mouse, keyboard or pen/pencil. If required, you can override keys, clicks, and gestures to provide a specific user experience.
The visible area (Viewpoint) of the ArcGISMapViewController is defined by the visible extent the map. To determine the current visible area or the center point and scale of an ArcGISMapViewController, call GeoViewController.getCurrentViewpoint. Make sure that any user-initiated or programmatic navigation is complete before getting the current Viewpoint by calling GeoViewController.isNavigating.
You can programmatically set the visible area by specifying a viewpoint. For example, ArcGISMapViewController.setViewpointGeometry sets the visible area to the extent of a provided geometry, and ArcGISMapViewController.setViewpointCenter centers the map view at a given point. Any geometries passed to these methods are automatically projected to match the SpatialReference of the map view's ArcGISMap, if required.
In an MVC architecture, the ArcGISMapViewController represents the View tier. The Model tier is represented by the ArcGISMap object which can provide a collection of operational layers and a Basemap. You can only set one ArcGISMap per ArcGISMapViewController, but you can swap the ArcGISMapViewController.arcGISMap with another when the application is running.
See Map view for more information.
- Inheritance
-
- Object
- GeoViewController
- ArcGISMapViewController
Properties
- allowMagnifierToPanMap ↔ bool
-
True if the ArcGISMapViewController is panned automatically when the
magnifier gets near the edge of the ArcGISMapViewController, otherwise
false.
getter/setter pair
- arcGISMap ↔ ArcGISMap?
-
The map that the ArcGISMapViewController is displaying.
getter/setter pair
- attributionText → String
-
The attribution text for the data that is currently displayed in the
GeoViewController.
no setterinherited
- backgroundGrid ↔ BackgroundGrid
-
The background grid that an ArcGISMap is displayed on top of.
getter/setter pair
- drawStatus → DrawStatus
-
The current drawing status of the content displayed in the
GeoViewController.
no setterinherited
- geometryEditor ↔ GeometryEditor?
-
Allows users to interactively create and edit geometries by interacting
with the view.
getter/setter pair
-
graphicsOverlays
→ List<
GraphicsOverlay> -
A collection of
GraphicsOverlay
objects used to display graphics on top of the view's content.no setterinherited - grid ↔ Grid?
-
A coordinate system grid to display on top of the GeoViewController.
getter/setter pairinherited
- hashCode → int
-
The hash code for this object.
no setterinherited
- interactionOptions → ArcGISMapViewInteractionOptions
-
Options for controlling how user interactions behave.
no setter
- isAttributionTextVisible ↔ bool
-
True if attribution text is visible in the GeoViewController, false
otherwise.
getter/setter pairinherited
-
True if the GeoViewController is animating a viewpoint change or a
navigation gesture is in progress, otherwise false.
no setterinherited
- isWrapAroundEnabled → bool
-
True if continuous panning across the international date line is enabled
in the GeoViewController, false otherwise.
no setterinherited
- labeling ↔ ViewLabelProperties
-
The view label properties.
getter/setter pairinherited
- locationDisplay → LocationDisplay
-
The location display manages and renders the device's current location on
an ArcGISMapViewController using a data source, such as a GPS sensor.
no setter
- magnifierEnabled ↔ bool
-
True if the magnifier is enabled, otherwise false.
getter/setter pair
-
onAttributionChanged
→ Stream<
String> -
Invokes the callback when the attribution text of the GeoViewController
changes.
no setterinherited
-
onDrawStatusChanged
→ Stream<
DrawStatus> -
Invokes the callback when the draw status of the GeoViewController
changes.
no setterinherited
-
onLayerViewStateChanged
→ Stream<
({Layer layer, LayerViewState layerViewState})> -
Invokes the callback when the layer view state of any layer in the
GeoViewController changes.
no setterinherited
-
Invokes the callback when the navigation state of the GeoViewController
changes.
no setterinherited
-
onRotationChanged
→ Stream<
double> -
Invokes the callback when rotation of the ArcGISMapViewController
changes.
no setter
-
onScaleChanged
→ Stream<
double> -
Invokes the callback when the scale of the ArcGISMapViewController
changes.
no setter
-
onSpatialReferenceChanged
→ Stream<
SpatialReference?> -
Invokes the callback when the spatial reference of the GeoViewController
changes.
no setterinherited
-
onTimeExtentChanged
→ Stream<
TimeExtent?> -
Invokes the callback when the time extent of the GeoViewController
changes.
no setterinherited
-
onViewpointChanged
→ Stream<
void> -
Invokes the callback when the viewpoint of the GeoViewController has
changed.
no setterinherited
- rotation → double
-
The rotation angle of the ArcGISMap in degrees from its north-south
direction.
no setter
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- scale → double
-
The scale of the ArcGISMapViewController.
no setter
- selectionProperties ↔ SelectionProperties
-
The selection properties for all graphic overlays and selectable layers
within the GeoViewController.
getter/setter pairinherited
- spatialReference → SpatialReference?
-
The spatial reference defines the coordinate system used by the map or
scene in the GeoViewController.
no setterinherited
- timeExtent ↔ TimeExtent?
-
The current TimeExtent of the GeoViewController.
getter/setter pairinherited
- unitsPerDip → double
-
The size of each device-independent pixel (DIP) in map units.
no setter
- visibleArea → Polygon?
-
The map view's visible area.
no setter
- wrapAroundMode ↔ WrapAroundMode
-
Indicates whether continuous panning across the international date line is
enabled.
getter/setter pair
Methods
-
dispose(
) → void -
This function cleans up properties of this controller before garbage
collection happens.
override
-
exportImage(
) → Future< ArcGISImage> -
Exports an image snapshot of the current GeoViewController.
inherited
-
getCurrentViewpoint(
ViewpointType viewpointType) → Viewpoint? -
Retrieves the current Viewpoint of the GeoViewController.
inherited
-
getLayerViewState(
Layer layer) → LayerViewState? -
Retrieves the layer's state in the GeoViewController.
inherited
-
identifyGraphicsOverlay(
GraphicsOverlay graphicsOverlay, {required Offset screenPoint, required double tolerance, int? maximumResults = 1}) → Future< IdentifyGraphicsOverlayResult> -
Identifies a limited number of graphics in the specified graphics overlay,
at the given screen point.
inherited
-
identifyGraphicsOverlays(
{required Offset screenPoint, required double tolerance, int? maximumResultsPerOverlay = 1}) → Future< List< IdentifyGraphicsOverlayResult> > -
Identifies a limited number of graphics in all graphics overlays, at the
given screen point.
inherited
-
identifyLayer(
Layer layer, {required Offset screenPoint, required double tolerance, int? maximumResults = 1}) → Future< IdentifyLayerResult> -
Identifies a limited number of geoelements in the specified layer or
sublayer, at the given screen point.
inherited
-
identifyLayers(
{required Offset screenPoint, required double tolerance, int? maximumResultsPerLayer = 1}) → Future< List< IdentifyLayerResult> > -
Identifies a limited number of geoelements at the given screen point, in
each identifiable layer or sublayer in the GeoViewController's
ArcGISMap or ArcGISScene.
inherited
-
locationToScreen(
{required ArcGISPoint mapPoint}) → Offset - Converts a location in map coordinates to screen coordinates relative to the upper-left corner of the map view.
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
screenToLocation(
{required Offset screen}) → ArcGISPoint? - Converts screen coordinates relative to the upper-left corner of the map view to a location in map coordinates.
-
setBookmark(
Bookmark bookmark) → Future< bool> -
Sets the Viewpoint of the GeoViewController to the
Bookmark.viewpoint.
inherited
-
setViewpoint(
Viewpoint viewpoint) → void -
Pan or zoom the GeoViewController to the specified Viewpoint location.
inherited
-
setViewpointAnimated(
Viewpoint viewpoint, {double? duration}) → Future< bool> -
Pan or zoom the GeoViewController using animation to the specified
Viewpoint location. Animation takes place over the specified duration.
inherited
-
setViewpointCenter(
ArcGISPoint center, {double? scale}) → Future< bool> - Centers the map view at the provided center point and zooms to the given scale.
-
setViewpointGeometry(
Geometry boundingGeometry, {double? paddingInDiPs}) → Future< bool> - Zooms and pans the map view to the extent of the provided geometry with additional padding.
-
setViewpointRotation(
{required double angleDegrees}) → Future< bool> - Rotates the map view to the provided angle.
-
setViewpointScale(
double scale) → Future< bool> - Zooms the map view to the provided scale around its current center point.
-
setViewpointWithDurationAndCurve(
{required Viewpoint viewpoint, required double durationSeconds, required AnimationCurve curve}) → Future< bool> - Animates the display to the new viewpoint using the provided animation curve. The AnimationCurve defines the animation easing function.
-
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited