NextbillionMapController class
Controller for a single NBMap instance running on the host platform.
Change listeners are notified upon changes to any of
- the
optionsproperty - the collection of Symbols added to this map
- the collection of Lines added to this map
- the isCameraMoving property
- the cameraPosition property
Listeners are notified after changes have been applied on the platform side.
Symbol tap events can be received by adding callbacks to onSymbolTapped. Line tap events can be received by adding callbacks to onLineTapped. Circle tap events can be received by adding callbacks to onCircleTapped.
- Inheritance
-
- Object
- ChangeNotifier
- NextbillionMapController
Constructors
-
NextbillionMapController({required NbMapsGlPlatform nbMapsGlPlatform, required CameraPosition initialCameraPosition, required Iterable<
AnnotationType> annotationOrder, required Iterable<AnnotationType> annotationConsumeTapEvents, OnStyleLoadedCallback? onStyleLoadedCallback, OnMapClickCallback? onMapClick, OnMapLongClickCallback? onMapLongClick, OnAttributionClickCallback? onAttributionClick, OnCameraTrackingDismissedCallback? onCameraTrackingDismissed, OnCameraTrackingChangedCallback? onCameraTrackingChanged, OnMapIdleCallback? onMapIdle, OnUserLocationUpdated? onUserLocationUpdated, OnCameraIdleCallback? onCameraIdle})
Properties
- cameraPosition → CameraPosition?
-
Returns the most recent camera position reported by the platform side.
Will be null, if NBMap.trackCameraPosition is false.
no setter
- circleManager ↔ CircleManager?
-
getter/setter pair
-
circles
→ Set<
Circle> -
The current set of circles on this map.
no setter
- disposed → bool
-
no setter
- fillManager ↔ FillManager?
-
getter/setter pair
-
fills
→ Set<
Fill> -
The current set of fills on this map.
no setter
- hashCode → int
-
The hash code for this object.
no setterinherited
- hasListeners → bool
-
Whether any listeners are currently registered.
no setterinherited
- isCameraMoving → bool
-
True if the map camera is currently moving.
no setter
- lineManager ↔ LineManager?
-
getter/setter pair
-
lines
→ Set<
Line> -
The current set of lines on this map.
no setter
- onAttributionClick → OnAttributionClickCallback?
-
final
- onCameraIdle → OnCameraIdleCallback?
-
final
- onCameraTrackingChanged → OnCameraTrackingChangedCallback?
-
final
- onCameraTrackingDismissed → OnCameraTrackingDismissedCallback?
-
final
-
onCircleTapped
→ ArgumentCallbacks<
Circle> -
Callbacks to receive tap events for symbols placed on this map.
final
-
onFeatureDrag
→ List<
OnFeatureDragnCallback> -
final
-
onFeatureTapped
→ List<
OnFeatureInteractionCallback> -
Callbacks to receive tap events for features (geojson layer) placed on this map.
final
-
onFillTapped
→ ArgumentCallbacks<
Fill> -
Callbacks to receive tap events for fills placed on this map.
final
-
onInfoWindowTapped
→ ArgumentCallbacks<
Symbol> -
Callbacks to receive tap events for info windows on symbols
final
-
onLineTapped
→ ArgumentCallbacks<
Line> -
Callbacks to receive tap events for lines placed on this map.
final
- onMapClick → OnMapClickCallback?
-
final
- onMapIdle → OnMapIdleCallback?
-
final
- onMapLongClick → OnMapLongClickCallback?
-
final
- onStyleLoadedCallback → OnStyleLoadedCallback?
-
final
-
onSymbolTapped
→ ArgumentCallbacks<
Symbol> -
Callbacks to receive tap events for symbols placed on this map.
final
- onUserLocationUpdated → OnUserLocationUpdated?
-
final
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- symbolManager ↔ SymbolManager?
-
getter/setter pair
-
symbols
→ Set<
Symbol> -
The current set of symbols on this map.
no setter
Methods
-
addCircle(
CircleOptions options, [Map? data]) → Future< Circle?> -
Adds a circle to the map, configured using the specified custom
options. -
addCircleLayer(
String sourceId, String layerId, CircleLayerProperties properties, {String? belowLayerId, String? sourceLayer, double? minzoom, double? maxzoom, dynamic filter, bool enableInteraction = true}) → Future< void> - Add a circle layer to the map with the given properties
-
addCircles(
List< CircleOptions> options, [List<Map> ? data]) → Future<List< Circle> ?> -
Adds multiple circles to the map, configured using the specified custom
options. -
addFill(
FillOptions options, [Map? data]) → Future< Fill?> -
Adds a fill to the map, configured using the specified custom
options. -
addFillExtrusionLayer(
String sourceId, String layerId, FillExtrusionLayerProperties properties, {String? belowLayerId, String? sourceLayer, double? minzoom, double? maxzoom, dynamic filter, bool enableInteraction = true}) → Future< void> - Add a fill extrusion layer to the map with the given properties
-
addFillLayer(
String sourceId, String layerId, FillLayerProperties properties, {String? belowLayerId, String? sourceLayer, double? minzoom, double? maxzoom, dynamic filter, bool enableInteraction = true}) → Future< void> - Add a fill layer to the map with the given properties
-
addFills(
List< FillOptions> options, [List<Map> ? data]) → Future<List< Fill> > -
Adds multiple fills to the map, configured using the specified custom
options. -
addGeoJsonSource(
String sourceId, Map< String, dynamic> geojson, {String? promoteId}) → Future<void> - Adds a new geojson source
-
addHeatmapLayer(
String sourceId, String layerId, HeatmapLayerProperties properties, {String? belowLayerId, String? sourceLayer, double? minzoom, double? maxzoom}) → Future< void> - Add a heatmap layer to the map with the given properties
-
addHillshadeLayer(
String sourceId, String layerId, HillshadeLayerProperties properties, {String? belowLayerId, String? sourceLayer, double? minzoom, double? maxzoom}) → Future< void> - Add a hillshade layer to the map with the given properties
-
addImage(
String name, Uint8List bytes, [bool sdf = false]) → Future< void> - Adds an image to the style currently displayed in the map, so that it can later be referred to by the provided name.
-
addImageLayer(
String layerId, String imageSourceId, {double? minzoom, double? maxzoom}) → Future< void> - Adds a NbMaps image layer to the map's style at render time.
-
addImageLayerBelow(
String layerId, String sourceId, String imageSourceId, {double? minzoom, double? maxzoom}) → Future< void> - Adds a NbMaps image layer below the layer provided with belowLayerId to the map's style at render time.
-
addImageSource(
String imageSourceId, Uint8List bytes, LatLngQuad coordinates) → Future< void> - Adds an image source to the style currently displayed in the map, so that it can later be referred to by the provided id.
-
addLayer(
String sourceId, String layerId, LayerProperties properties, {String? belowLayerId, bool enableInteraction = true, String? sourceLayer, double? minzoom, double? maxzoom, dynamic filter}) → Future< void> - Add a layer to the map with the given properties
-
addLayerBelow(
String layerId, String sourceId, String imageSourceId, {double? minzoom, double? maxzoom}) → Future< void> - Adds a NbMaps image layer below the layer provided with belowLayerId to the map's style at render time. Only works for image sources!
-
addLine(
LineOptions options, [Map? data]) → Future< Line?> -
Adds a line to the map, configured using the specified custom
options. -
addLineLayer(
String sourceId, String layerId, LineLayerProperties properties, {String? belowLayerId, String? sourceLayer, double? minzoom, double? maxzoom, dynamic filter, bool enableInteraction = true}) → Future< void> - Add a line layer to the map with the given properties
-
addLines(
List< LineOptions> options, [List<Map> ? data]) → Future<List< Line> ?> -
Adds multiple lines to the map, configured using the specified custom
options. -
addListener(
VoidCallback listener) → void -
Register a closure to be called when the object changes.
inherited
-
addRasterLayer(
String sourceId, String layerId, RasterLayerProperties properties, {String? belowLayerId, String? sourceLayer, double? minzoom, double? maxzoom}) → Future< void> - Add a raster layer to the map with the given properties
-
addSource(
String sourceid, SourceProperties properties) → Future< void> - Add a new source to the map
-
addSymbol(
SymbolOptions options, [Map? data]) → Future< Symbol?> -
Adds a symbol to the map, configured using the specified custom
options. -
addSymbolLayer(
String sourceId, String layerId, SymbolLayerProperties properties, {String? belowLayerId, String? sourceLayer, double? minzoom, double? maxzoom, dynamic filter, bool enableInteraction = true}) → Future< void> - Add a symbol layer to the map with the given properties
-
addSymbols(
List< SymbolOptions> options, [List<Map> ? data]) → Future<List< Symbol> ?> -
Adds multiple symbols to the map, configured using the specified custom
options. -
animateCamera(
CameraUpdate cameraUpdate, {Duration? duration}) → Future< bool?> - Starts an animated change of the map camera position.
-
clearCircles(
) → Future< void> - Removes all circles from the map.
-
clearFills(
) → Future< void> -
Removes all
fillfrom the map. -
clearLines(
) → Future< void> - Removes all lines from the map.
-
clearSymbols(
) → Future< void> - Removes all symbols from the map.
-
dispose(
) → void -
Discards any resources used by the object. After this is called, the
object is not in a usable state and should be discarded (calls to
addListener will throw after the object is disposed).
override
-
findBelowLayerId(
List< String> belowAt) → Future<String?> -
forceResizeWebMap(
) → void - Triggers a hard map resize event on web and does not check if it is required or not.
-
getCircleLatLng(
Circle circle) → Future< LatLng?> -
Retrieves the current position of the circle.
This may be different from the value of
circle.options.geometryif the circle is draggable. In that case this method provides the circle's actual position, andcircle.options.geometrythe last programmatically set position. -
getLineLatLngs(
Line line) → Future< List< LatLng> ?> -
Retrieves the current position of the line.
This may be different from the value of
line.options.geometryif the line is draggable. In that case this method provides the line's actual position, andline.options.geometrythe last programmatically set position. -
getMetersPerPixelAtLatitude(
double latitude) → Future< double?> -
Returns the distance spanned by one pixel at the specified
latitudeand current zoom level. The distance between pixels decreases as the latitude approaches the poles. This relationship parallels the relationship between longitudinal coordinates at different latitudes. -
getSymbolLatLng(
Symbol symbol) → Future< LatLng?> -
Retrieves the current position of the symbol.
This may be different from the value of
symbol.options.geometryif the symbol is draggable. In that case this method provides the symbol's actual position, andsymbol.options.geometrythe last programmatically set position. -
getTelemetryEnabled(
) → Future< bool> - Retrieves whether collection of anonymized telemetry data is enabled.
-
getVisibleRegion(
) → Future< LatLngBounds?> - This method returns the boundaries of the region currently displayed in the map.
-
invalidateAmbientCache(
) → Future -
matchMapLanguageWithDeviceDefault(
) → Future< void> - Updates the language of the map labels to match the device's language.
-
moveCamera(
CameraUpdate cameraUpdate) → Future< bool?> - Instantaneously re-position the camera. Note: moveCamera() quickly moves the camera, which can be visually jarring for a user. Strongly consider using the animateCamera() methods instead because it's less abrupt.
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
notifyListeners(
) → void -
Call all the registered listeners.
inherited
-
queryRenderedFeatures(
Point< double> point, List<String> layerIds, List<Object> ? filter) → Future<List> - Query rendered features at a point in screen cooridnates
-
queryRenderedFeaturesInRect(
Rect rect, List< String> layerIds, String? filter) → Future<List?> - Query rendered features in a Rect in screen coordinates
-
removeCircle(
Circle circle) → Future< void> -
Removes the specified
circlefrom the map. The circle must be a current member of the circles set. -
removeCircles(
Iterable< Circle> circles) → Future<void> -
Removes the specified
circlesfrom the map. The circles must be current members of thecirclesset. -
removeFill(
Fill fill) → Future< void> -
Removes the specified
fillfrom the map. The fill must be a current member of the fills set. -
removeFills(
Iterable< Fill> fills) → Future<void> -
Removes the specified
fillsfrom the map. The fills must be current members of thefillsset. -
removeImageSource(
String imageSourceId) → Future< void> - Removes previously added image source by id
-
removeLayer(
String layerId) → Future< void> - Removes a nbmaps style layer
-
removeLine(
Line line) → Future< void> -
Removes the specified
linefrom the map. The line must be a current member of the lines set. -
removeLines(
Iterable< Line> lines) → Future<void> -
Removes the specified
linesfrom the map. The lines must be current members of thelinesset. -
removeListener(
VoidCallback listener) → void -
Remove a previously registered closure from the list of closures that are
notified when the object changes.
inherited
-
removeSource(
String sourceId) → Future< void> - Removes previously added source by id
-
removeSymbol(
Symbol symbol) → Future< void> -
Removes the specified
symbolfrom the map. The symbol must be a current member of the symbols set. -
removeSymbols(
Iterable< Symbol> symbols) → Future<void> -
Removes the specified
symbolsfrom the map. The symbols must be current members of thesymbolsset. -
requestMyLocationLatLng(
) → Future< LatLng?> - Get last my location
-
resizeWebMap(
) → void - Triggers a resize event for the map on web (ignored on Android or iOS).
-
setFilter(
String layerId, dynamic filter) → Future< void> -
setGeoJsonFeature(
String sourceId, Map< String, dynamic> geojsonFeature) → Future<void> - Sets new geojson data to and existing source
-
setGeoJsonSource(
String sourceId, Map< String, dynamic> geojson) → Future<void> - Sets new geojson data to and existing source
-
setMapLanguage(
String language) → Future< void> - Updates the language of the map labels to match the specified language. Attention: This may only be called after onStyleLoaded() has been invoked.
-
setStyleString(
String styleString) → Future< void> - Update map style using a custom style URL or JSON string.
-
setStyleType(
NBMapStyleType styleType) → Future< void> - Switch map style using predefined style types.
-
setSymbolIconAllowOverlap(
bool enable) → Future< void> -
setSymbolIconIgnorePlacement(
bool enable) → Future< void> -
setSymbolTextAllowOverlap(
bool enable) → Future< void> -
setSymbolTextIgnorePlacement(
bool enable) → Future< void> -
setTelemetryEnabled(
bool enabled) → Future< void> - Enables or disables the collection of anonymized telemetry data.
-
setVisibility(
String layerId, bool isVisible) → Future< void> -
Sets the visibility by specifying
isVisibleof the layer with the specified idlayerId. Returns silently iflayerIddoes not exist. -
takeSnapshot(
SnapshotOptions snapshotOptions) → Future< String?> - Generates static raster images of the map. Each snapshot image depicts a portion of a map defined by an SnapshotOptions object you provide Android/iOS: Return snapshot uri in app specific cache storage or base64 string Web: Return base64 string with current camera posision of NBMap
-
toLatLng(
Point< num> screenLocation) → Future<LatLng?> - Returns the geographic location (as LatLng) that corresponds to a point on the screen. The screen location is specified in screen pixels (not display pixels) relative to the top left of the map (not the top left of the whole screen).
-
toScreenLocation(
LatLng latLng) → Future< Point< num> ?> -
Returns the point on the screen that corresponds to a geographical coordinate (
latLng). The screen location is in screen pixels (not display pixels) relative to the top left of the map (not of the whole screen) -
toScreenLocationBatch(
Iterable< LatLng> latLngs) → Future<List< Point< ?>num> > -
toString(
) → String -
A string representation of this object.
inherited
-
updateCircle(
Circle circle, CircleOptions changes) → Future< void> -
Updates the specified
circlewith the givenchanges. The circle must be a current member of the circles set. -
updateContentInsets(
EdgeInsets insets, [bool animated = false]) → Future< void> - Updates the distance from the edges of the map view’s frame to the edges of the map view’s logical viewport, optionally animating the change.
-
updateFill(
Fill fill, FillOptions changes) → Future< void> -
Updates the specified
fillwith the givenchanges. The fill must be a current member of the fills set. -
updateImageSource(
String imageSourceId, Uint8List? bytes, LatLngQuad? coordinates) → Future< void> - Update an image source to the style currently displayed in the map, so that it can later be referred to by the provided id.
-
updateLine(
Line line, LineOptions changes) → Future< void> -
Updates the specified
linewith the givenchanges. The line must be a current member of the lines set.‚ -
updateMyLocationTrackingMode(
MyLocationTrackingMode myLocationTrackingMode) → Future< void> - Updates user location tracking mode.
-
updateSymbol(
Symbol symbol, SymbolOptions changes) → Future< void> -
Updates the specified
symbolwith the givenchanges. The symbol must be a current member of the symbols set.
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited