MultimapDatastore class

A MapDatabase that reads and combines data from multiple map files. The MultiMapDatabase supports the following modes for reading from multiple files:

  • RETURN_FIRST: the data from the first database to support a tile will be returned. This is the fastest operation suitable when you know there is no overlap between map files.
  • RETURN_ALL: the data from all files will be returned, the data will be combined. This is suitable if more than one file can contain data for a tile, but you know there is no semantic overlap, e.g. one file contains contour lines, another road data.
  • DEDUPLICATE: the data from all files will be returned but duplicates will be eliminated. This is suitable when multiple maps cover the different areas, but there is some overlap at boundaries. This is the most expensive operation and often it is actually faster to double paint objects as otherwise all objects have to be compared with all others.

Constructors

MultimapDatastore(DataPolicy dataPolicy)

Properties

dataPolicy DataPolicy
final
datastoreBoundaries Map<Datastore, BoundingBox>
Getter for accessing datastore boundaries (primarily for testing)
no setter
datastores Set<Datastore>
A list of map datastores
final
hashCode int
The hash code for this object.
no setterinherited
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
startPosition ↔ LatLong?
getter/setter pair
startZoomLevel int?
getter/setter pair

Methods

addDatastore(Datastore datastore) Future<void>
adds another mapDataStore
dispose() → void
Releases resources held by the datastore. Should be called when the datastore is no longer needed.
getBoundingBox() Future<BoundingBox>
Returns the geographic area covered by this datastore.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
readLabels(Tile upperLeft, Tile lowerRight) Future<DatastoreBundle?>
Reads label data for a rectangular area defined by two corner tiles.
readLabelsSingle(Tile tile) Future<DatastoreBundle?>
Reads label data for a single tile.
readMapData(Tile upperLeft, Tile lowerRight) Future<DatastoreBundle>
Reads complete map data for a rectangular area.
readMapDataSingle(Tile tile) Future<DatastoreBundle?>
Reads complete map data for a single tile.
readPoiData(Tile upperLeft, Tile lowerRight) Future<DatastoreBundle?>
Reads POI data for a rectangular area defined by corner tiles.
readPoiDataSingle(Tile tile) Future<DatastoreBundle?>
Reads Point of Interest (POI) data for a single tile.
removeAllDatastores() → void
removeDatastore(double minLatitude, double minLongitude, double maxLatitude, double maxLongitude) Future<void>
setStartPosition(LatLong startPosition) → void
setStartZoomLevel(int startZoomLevel) → void
supportsTile(Tile tile) Future<bool>
Checks if the datastore contains data for the specified tile.
toString() String
A string representation of this object.
inherited

Operators

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