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
SimpleFillSymbolfor a connected map view; aSimpleMarkerSymbolfor 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
-
- Object
- DiagnosticableTree
- Widget
- StatefulWidget
- OverviewMap
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
ArcGISMapVieworArcGISSceneView.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
GeoViewControllerof the target map. This should return the same controller that is provided to the correspondingArcGISMapVieworArcGISSceneView.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