talabaty_maps 1.0.0
talabaty_maps: ^1.0.0 copied to clipboard
OSM maps, geolocation, backend-proxied routing/geocoding, and Socket.io live tracking for Flutter apps. By Bashar (Si1verSurfer).
talabaty_maps #
Author: Bashar (Si1verSurfer) · Repository: OSMFlutterMap
Shared OpenStreetMap integration for Flutter apps:
flutter_map+https://tile.openstreetmap.org/{z}/{x}/{y}.pnggeolocator(high accuracy; debounced stream in LocationService)- Backend-proxied OSRM (
/maps/route,/maps/match) and Nominatim (/maps/geocode,/maps/reverse) - Socket.io live tracking (
captain_locationevents) - Widgets: MapCanvas, RoutePolylineLayer, TrackingMarkersLayer
Install #
From pub.flutter-io.cn (after publish):
dependencies:
talabaty_maps: ^1.0.0
From Git:
dependencies:
talabaty_maps:
git:
url: https://github.com/Si1verSurfer/OSMFlutterMap.git
ref: main
Publish (maintainers) #
dart pub publish --dry-run
dart pub publish
Use a clean git tree; sign in with dart pub token / Google account on pub.flutter-io.cn.
Android #
In AndroidManifest.xml (above <application>):
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
iOS #
In Info.plist:
<key>NSLocationWhenInUseUsageDescription</key>
<string>Your reason for using location.</string>
API base URL #
Pass the same value as your REST client: http://host:port/api/v1 (no trailing slash).
Socket.io URL is the origin only — use socketOriginFromApiBaseUrl.
Performance notes #
- Markers: cap list size when many POIs; prefer clustering or viewport filtering.
- Polylines: simplify geometry client-side for huge routes if needed.
- Attribution: pass real
userAgentPackageNameinbuildOsmTileLayers; useattributionLabelfor i18n.
Optional integration test #
Add an integration_test/ target in the consuming app to smoke-test against a staging API.