Skip to main content

smap_flutter 1.1.2 copy "smap_flutter: ^1.1.2" to clipboard
smap_flutter: ^1.1.2 copied to clipboard

sMap for Flutter: maps from the sMap service in Flutter apps, with styles, labels in any language, clustered points, lines, areas and 3D buildings.

Changelog #

1.1.2 — 2026-10-27 #

  • The version follows the shared 1.1.2 release; no change of its own.

1.1.1 — 2026-10-27 #

  • Offline regions (Android and iOS): SMapOffline downloads an area of the map (bounding box, zooms, scheme or custom style, language) as one file and keeps it on the device: estimate (size, and whether this app may download; counts nothing), download (continues where it stopped when called again), list, get, refresh, remove, usage. A region is shown for 30 days from its download; after that its map data is removed until it is refreshed.
  • SMapOptions.offlineRegion shows a downloaded region from the start, offlineFallback shows one containing the centre when no node answers (on by default) and offlineAutoRefresh downloads again regions in their last 3 days while online (on by default). SMapController.offline, useOfflineRegion and useOnline switch at any time; your layers are kept.
  • Downloads need a token, or a map key whose Allow offline regions switch is on, and are billed as the region's tiles.
  • Adds the path_provider dependency (where regions are kept).

1.1.0 — 2026-10-27 #

  • Standard style layers and sources: addSource, removeSource, sources, addStyleLayer (in a slot, below a layer, with a zIndex), setPaint, setLayout, setFilter and getStyleLayer, for your layers and the basemap's. Layers copied from other map tools work as they are, and every change is kept across style, language and token changes. removeLayer removes any kind of layer.
  • Slots: bottom, roads, labels and top place a layer in the basemap; addPoints, addLines and addPolygons take slot and before too, and slots() says where each slot begins. A layer without a slot draws on top, as before.
  • Basemap classes: setBasemap shows, hides and recolours water, land, parks, land use, airports, roads by level, rail, buildings, boundaries, labels and points of interest, and changes line widths; basemap() reads the settings back; the basemap option applies them from the start.
  • Saved custom styles: the customStyle option and setStyle('custom:<id>'); setStyle also takes a scheme name.
  • Files: formats.read reads KML, KMZ, GPX, encoded polylines (precision 5 and 6), WKT, WKB, CSV, TopoJSON and GeoJSON on the device, into the same features as every other sMap SDK and the service; formats.write, toGeoJSON and toKML write them out; addData draws a file as areas, lines and points; convert has the service convert large files.
  • Simplestyle colours, widths and opacities in the data are drawn when a layer gives none of its own.
  • External layers: addRasterLayer, addWmsLayer, addWmtsLayer, addVectorTiles (PMTiles included) and addArcGisLayer, each with its attribution. Google and Bing tiles are refused.
  • rasterUrl gives the service's raster tiles of any style as a template for other tools.
  • toJSON and loadLayers: the layer description shared with the other sMap SDKs.

1.0.6 — 2026-10-27 #

  • Version 1.0.6, released with the Web SDK's drawn-in pin numbers and vehicle markers; no change to this SDK.

1.0.5 — 2026-10-27 #

  • Version 1.0.5, released with the Web SDK popups; no change to the Flutter SDK.

1.0.2 — 2026-10-27 #

  • Version 1.0.2, released with the Web SDK fix; no change to the Flutter SDK.

1.0.1 — 2026-10-27 #

  • Every map shows a small sMap badge (the sMap icon and name on a semi-transparent pill that reads on all five colour schemes) in its bottom-right corner, just left of the attribution button. It is always shown and is not a link; the map data attribution stays visible. The rendering engine's own logo stays off.
  • The package description starts with "sMap"; the README starts with the sMap logo.
  • Published on pub.dev as smap_flutter (install with smap_flutter: ^1.0.1); the git dependency still works.

1.0.0 (unreleased) #

  • First release: the SMap widget and SMapController.
  • Five colour schemes (light, white, grayscale, dark, black) and labels in any language, switched at run time without losing your layers.
  • Short-lived tokens: pass a token, or a getToken callback that is asked for a new one two minutes before each expires.
  • Reads from the nearest service node, remembered for an hour, and moves on to the next node when one fails.
  • Keeps working while the service address is down: the last node list is kept for 30 days and asked of any known node, and the nodes option names nodes known in advance.
  • Points (clustered or not, circles or icons, labels), lines and areas (flat or extruded), with draw order, visibility, data replacement, fitting the camera and tap handlers.
  • 3D buildings.
  • Map keys: the new apiKey option uses a key that can ship inside the app, checked against the app's identity (Android package name and signing certificate, iOS bundle id).
0
likes
0
points
674
downloads

Publisher

unverified uploader

Weekly Downloads

sMap for Flutter: maps from the sMap service in Flutter apps, with styles, labels in any language, clustered points, lines, areas and 3D buildings.

Repository (GitHub)
View/report issues

Topics

#map #maps #vector-tiles #smap

License

unknown (license)

Dependencies

archive, flutter, http, maplibre_gl, path_provider, shared_preferences

More

Packages that depend on smap_flutter

Packages that implement smap_flutter