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; aSimpleMarkerSymbol
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
-
- 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
ArcGISMapView
orArcGISSceneView
.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 correspondingArcGISMapView
orArcGISSceneView
.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