GoogleMapsWidget class

A GoogleMapsWidget which can be used to make polylines(route) from a source to a destination, and also handle a driver's realtime location (if any) on the map.

Inheritance

Constructors

GoogleMapsWidget({Key? key, required String apiKey, required LatLng sourceLatLng, required LatLng destinationLatLng, void totalDistanceCallback(String?)?, void totalTimeCallback(String?)?, void onMapCreated(GoogleMapController)?, MarkerIconInfo sourceMarkerIconInfo = const MarkerIconInfo(), MarkerIconInfo destinationMarkerIconInfo = const MarkerIconInfo(), MarkerIconInfo driverMarkerIconInfo = const MarkerIconInfo(), Stream<LatLng>? driverCoordinatesStream, LatLng? defaultCameraLocation, void onPolylineUpdate(Polyline)?, Set<Marker> markers = const <Marker>{}, Set<Polyline> polylines = const <Polyline>{}, bool showPolyline = true, double defaultCameraZoom = Constants.kDefaultCameraZoom, Color routeColor = Constants.kRouteColor, int routeWidth = Constants.kRouteWidth, bool updatePolylinesOnDriverLocUpdate = true, Set<Factory<OneSequenceGestureRecognizer>> gestureRecognizers = const <Factory<OneSequenceGestureRecognizer>>{}, TextDirection? layoutDirection, bool compassEnabled = true, bool mapToolbarEnabled = true, CameraTargetBounds cameraTargetBounds = CameraTargetBounds.unbounded, MapType mapType = MapType.normal, MinMaxZoomPreference minMaxZoomPreference = MinMaxZoomPreference.unbounded, bool rotateGesturesEnabled = true, bool scrollGesturesEnabled = true, bool zoomControlsEnabled = true, bool zoomGesturesEnabled = true, bool liteModeEnabled = false, bool tiltGesturesEnabled = true, bool myLocationEnabled = false, bool myLocationButtonEnabled = true, EdgeInsets padding = const EdgeInsets.all(0), bool indoorViewEnabled = false, bool trafficEnabled = false, bool buildingsEnabled = true, Set<Polygon> polygons = const <Polygon>{}, Set<Circle> circles = const <Circle>{}, VoidCallback? onCameraMoveStarted, Set<TileOverlay> tileOverlays = const <TileOverlay>{}, CameraPositionCallback? onCameraMove, VoidCallback? onCameraIdle, ArgumentCallback<LatLng>? onTap, ArgumentCallback<LatLng>? onLongPress})
const

Properties

apiKey String
Google Maps API Key.
final
buildingsEnabled bool
Enables or disables showing 3D buildings where available
final
cameraTargetBounds CameraTargetBounds
Geographical bounding box for the camera target.
final
circles Set<Circle>
Circles to be placed on the map.
final
compassEnabled bool
True if the map should show a compass when rotated.
final
defaultCameraLocation LatLng?
The initial location of the map's camera. If null, initial location is sourceLatLng.
final
defaultCameraZoom double
The initial zoom of the map's camera. Defaults to Constants.kDefaultCameraZoom.
final
destinationLatLng LatLng
The destination LatLng.
final
destinationMarkerIconInfo MarkerIconInfo
The marker which is rendered on the location destinationLatLng.
final
driverCoordinatesStream Stream<LatLng>?
A Stream of LatLng objects for the driver used to render driverMarkerIconInfo on the map with the provided LatLng objects.
final
driverMarkerIconInfo MarkerIconInfo
The marker which is rendered on the driver's current location provided by driverCoordinatesStream.
final
gestureRecognizers Set<Factory<OneSequenceGestureRecognizer>>
Which gestures should be consumed by the map.
final
hashCode int
The hash code for this object.
no setterinherited
indoorViewEnabled bool
Enables or disables the indoor view from the map
final
key Key?
Controls how one widget replaces another widget in the tree.
finalinherited
layoutDirection TextDirection?
The layout direction to use for the embedded view.
final
liteModeEnabled bool
True if the map view should be in lite mode. Android only.
final
mapToolbarEnabled bool
True if the map should show a toolbar when you interact with the map. Android only.
final
mapType MapType
Type of map tiles to be rendered.
final
markers Set<Marker>
Markers to be placed on the map. (apart from the source and destination markers).
final
minMaxZoomPreference MinMaxZoomPreference
Preferred bounds for the camera zoom level.
final
myLocationButtonEnabled bool
Enables or disables the my-location button.
final
myLocationEnabled bool
True if a "My Location" layer should be shown on the map.
final
onCameraIdle VoidCallback?
Called when camera movement has ended, there are no pending animations and the user has stopped interacting with the map.
final
onCameraMove CameraPositionCallback?
Called repeatedly as the camera continues to move after an onCameraMoveStarted call.
final
onCameraMoveStarted VoidCallback?
Called when the camera starts moving.
final
onLongPress ArgumentCallback<LatLng>?
Called every time a GoogleMap is long pressed.
final
onMapCreated → (void Function(GoogleMapController)?)
Callback method for when the map is ready to be used.
final
onPolylineUpdate → (void Function(Polyline)?)
Called when the polyline is updated i.e. route is updated.
final
onTap ArgumentCallback<LatLng>?
Called every time a GoogleMap is tapped.
final
padding EdgeInsets
Padding to be set on map. See https://developers.google.com/maps/documentation/android-sdk/map#map_padding for more details.
final
polygons Set<Polygon>
Polygons to be placed on the map.
final
polylines Set<Polyline>
Polylines to be placed on the map. (apart from the one generated between the sourceLatLng and the destinationLatLng.
final
rotateGesturesEnabled bool
////////////////////////////////////////////// ////////////////////////////////////////////// True if the map view should respond to rotate gestures.
final
routeColor Color
Color of the route made between sourceLatLng and destinationLatLng. Defaults to Constants.kRouteColor.
final
routeWidth int
Width of the route made between sourceLatLng and destinationLatLng. Defaults to Constants.kRouteWidth.
final
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
scrollGesturesEnabled bool
True if the map view should respond to scroll gestures.
final
showPolyline bool
Whether to show the generated polyline from sourceLatLng to destinationLatLng.
final
sourceLatLng LatLng
The source LatLng.
final
sourceMarkerIconInfo MarkerIconInfo
The marker which is rendered on the location sourceLatLng.
final
tileOverlays Set<TileOverlay>
Tile overlays to be placed on the map.
final
tiltGesturesEnabled bool
True if the map view should respond to tilt gestures.
final
totalDistanceCallback → (void Function(String?)?)
Called after polylines are created for the given sourceLatLng and destinationLatLng and totalDistance is initialized.
final
totalTimeCallback → (void Function(String?)?)
Called after polylines are created for the given sourceLatLng and destinationLatLng and totalTime is initialized.
final
trafficEnabled bool
Enables or disables the traffic layer of the map
final
updatePolylinesOnDriverLocUpdate bool
If true, Updates the polylines everytime a new event is pushed to the driver stream, i.e. the driver location changes..
final
zoomControlsEnabled bool
True if the map view should show zoom controls. This includes two buttons to zoom in and zoom out. The default value is to show zoom controls.
final
zoomGesturesEnabled bool
True if the map view should respond to zoom gestures.
final

Methods

createElement() StatefulElement
Creates a StatefulElement to manage this widget's location in the tree.
inherited
createState() GoogleMapsWidgetState
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}) 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