OverviewMap class

OverviewMap is a small, secondary map view (sometimes called an “inset map”), superimposed on an existing ArcGISMapView or ArcGISSceneView, which shows a representation of the current visible area (for an ArcGISMapView) or viewpoint (for an ArcGISSceneView).

Overview

For an OverviewMap on an ArcGISMapView, the map view's visibleArea property will be represented in the overview map as a polygon, which will rotate as the map view rotates. For an OverviewMap on an ArcGISSceneView, the center point of the scene view's currentViewpoint property will be represented in the overview map by a point.

Features

  • Displays a representation of the current visible area or viewpoint for a connected map view or scene view, respectively.
  • Supports a configurable scaling factor for setting the overview map’s zoom level relative to the connected view.
  • Supports a configurable symbol for visualizing the current visible area or viewpoint representation (a SimpleFillSymbol for a connected map view; a SimpleMarkerSymbol for a connected scene view).
  • Supports using a custom map in the overview map display.

Note: OverviewMap uses metered ArcGIS Location Platform basemaps by default, so you will need to implement authentication using a supported method. See Security and authentication documentation for more information.

Usage

An OverviewMap is generally placed in a Stack on top of an ArcGISMapView or ArcGISSceneView. The overview map must be provided the same ArcGISMapViewController or ArcGISSceneViewController as the corresponding map view or scene view.

 @override
 Widget build(BuildContext context) {
   return Scaffold(
     body: Stack(
       children: [
         ArcGISMapView(controllerProvider: controllerProvider),
         OverviewMap.withMapView(controllerProvider: controllerProvider),
       ],
     ),
   );
 }
Inheritance

Constructors

OverviewMap.withMapView({required ArcGISMapViewController controllerProvider(), Key? key, Alignment alignment = Alignment.topRight, EdgeInsets padding = const EdgeInsets.all(10), double scaleFactor = 25.0, SimpleFillSymbol? symbol, ArcGISMap? map, Widget containerBuilder(BuildContext, Widget)?})
Create an OverviewMap widget with ArcGISMapViewController.
factory
OverviewMap.withSceneView({required ArcGISSceneViewController controllerProvider(), Key? key, Alignment alignment = Alignment.topRight, EdgeInsets padding = const EdgeInsets.all(10), double scaleFactor = 25.0, SimpleMarkerSymbol? symbol, ArcGISMap? map, Widget containerBuilder(BuildContext, Widget)?})
Create an OverviewMap widget with ArcGISSceneViewController .
factory

Properties

alignment Alignment
The alignment of the overview map within the parent widget. Defaults to Alignment.topRight. The overview map should generally be placed in a Stack on top of the corresponding ArcGISMapView or ArcGISSceneView.
final
containerBuilder Widget Function(BuildContext context, Widget child)?
A function to build the container holding the overview map.
final
controllerProvider → GeoViewController Function()
A function that provides the GeoViewController of the target map. This should return the same controller that is provided to the corresponding ArcGISMapView or ArcGISSceneView.
final
hashCode int
The hash code for this object.
no setterinherited
key Key?
Controls how one widget replaces another widget in the tree.
finalinherited
map → ArcGISMap?
The map to use as the overview map. Defaults to a map with the ArcGIS Topographic basemap style.
final
padding EdgeInsets
The padding around the overview map. Defaults to 10 pixels on all sides.
final
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
scaleFactor double
The factor to multiply the overview map scale by compared to the target map view or scene view. Defaults to 25.
final
symbol → ArcGISSymbol?
The symbol used to represent the current viewpoint.
final

Methods

createElement() StatefulElement
Creates a StatefulElement to manage this widget's location in the tree.
inherited
createState() State<OverviewMap>
Creates the mutable state for this widget at a given location in the tree.
override
debugDescribeChildren() List<DiagnosticsNode>
Returns a list of DiagnosticsNode objects describing this node's children.
inherited
debugFillProperties(DiagnosticPropertiesBuilder properties) → void
Add additional properties associated with the node.
inherited
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toDiagnosticsNode({String? name, DiagnosticsTreeStyle? style}) DiagnosticsNode
Returns a debug representation of the object that is used by debugging tools and by DiagnosticsNode.toStringDeep.
inherited
toString({DiagnosticLevel minLevel = DiagnosticLevel.info}) String
A string representation of this object.
inherited
toStringDeep({String prefixLineOne = '', String? prefixOtherLines, DiagnosticLevel minLevel = DiagnosticLevel.debug, int wrapWidth = 65}) String
Returns a string representation of this node and its descendants.
inherited
toStringShallow({String joiner = ', ', DiagnosticLevel minLevel = DiagnosticLevel.debug}) String
Returns a one-line detailed description of the object.
inherited
toStringShort() String
A short, textual description of this widget.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited