Skip to content

Software Development at Program Tom LTD

Place for coding, programming, development and software in general.

Menu
  • Blog
  • PDF Booklets
  • Dev Utils & Content
  • Java Spring Boot Or Web Apps
  • English
    • български
    • English
    • Español
    • Português
    • हिन्दी
    • Русский
    • Deutsch
    • Français
    • Italiano
    • العربية
  • About Us
Menu
What are the options for Map Providers in Flutter

What are the options for Map Providers in Flutter

Posted on May 22, 2025 by Toma Velev

In Flutter, several map providers are available for integrating maps into your app. Here’s an overview of the most popular ones:


🔹 1. Google Maps for Flutter

  • Plugin: google_maps_flutter
  • Pros:
    • Official support by Google.
    • Rich features: markers, polygons, polylines, camera control.
    • Wide community support.
  • Cons:
    • Requires an API key and billing setup.
    • Not fully open source.

🔹 2. Mapbox

  • Plugin: mapbox_gl
  • Pros:
    • High customization and beautiful map styles.
    • 3D terrain, indoor maps, and dynamic styling.
  • Cons:
    • Requires an API token.
    • Slightly steeper learning curve than Google Maps.

🔹 3. OpenStreetMap (OSM)

  • Plugins:
    • flutter_map (uses Leaflet under the hood)
    • osm_flutter
  • Pros:
    • Free and open source.
    • No API key or billing required.
    • Good offline map support with some add-ons.
  • Cons:
    • Fewer built-in features than Google or Mapbox.
    • You may need to self-host tiles for large-scale use.

🔹 4. Here Maps

  • Plugin: here_sdk
  • Pros:
    • Good for routing, navigation, and real-time traffic.
    • Strong enterprise features.
  • Cons:
    • Requires SDK download and registration.
    • Licensing may apply for commercial use.

🔹 5. TomTom

  • Plugin: tomtom_sdk_map
  • Pros:
    • Traffic data, search, and navigation services.
  • Cons:
    • Requires API key.
    • Less community usage compared to Google or Mapbox.

🔹 6. ArcGIS Maps by Esri

  • Plugin: arcgis_maps_flutter
  • Pros:
    • Geospatial analytics, layers, and GIS capabilities.
  • Cons:
    • Geared more towards enterprise/GIS apps.

Summary Table:

Provider Offline Support API Key Needed Licence Cost
Google Maps Limited ✔ Yes (some free tier)
Mapbox Good ✔ Free/paid tiers
OpenStreetMap Possible ✖ Free (self-host tiles)
HERE Maps Good ✔ Yes (free tier available)
TomTom Good ✔ Free/paid tiers
ArcGIS Good ✔ Commercial license

What about Huawei phones

Huawei phones, especially recent models without Google Mobile Services (GMS), do not support Google Maps out of the box, so if you want your Flutter app to run well on those devices, you’ll need to consider alternatives.

Here’s how the popular map providers stack up specifically for Huawei devices:


✅ Best Options for Huawei Phones

1. Huawei Map Kit

  • Plugin: huawei_map
  • Platform: HarmonyOS / Android (with Huawei Mobile Services – HMS)
  • Pros:
    • Official support for Huawei devices.
    • Works well on phones without Google services.
    • Provides similar features to Google Maps (markers, polygons, etc.).
  • Cons:
    • Requires setup in Huawei Developer Console.
    • Limited community compared to Google or Mapbox.
  • Use if: You want full compatibility with newer Huawei devices and access to Huawei’s APIs.

2. OpenStreetMap via flutter_map

  • Plugin: flutter_map
  • Pros:
    • Fully open source.
    • No dependencies on Google or Huawei services.
    • Works on any Android or iOS device, including Huawei.
  • Cons:
    • You need to manage tile sources, caching, and some features manually.
  • Use if: You want cross-device compatibility without any proprietary SDKs.

3. Mapbox

  • Plugin: mapbox_gl
  • Pros:
    • Works on Huawei and non-Huawei devices.
    • Excellent styling and map features.
  • Cons:
    • May have minor compatibility issues on older Huawei models.
    • Requires API key and subject to pricing.
  • Use if: You want a polished alternative to Google Maps with strong visual control.

What about Location Services

When it comes to location services in Flutter, the situation is similar to maps: you need to consider both device compatibility (Google vs. Huawei) and what kind of location functionality your app needs (e.g., foreground, background, geofencing, etc.).


🔍 Flutter Location Services Overview

✅ Cross-Platform Location Plugins

1. location

  • Works on Android and iOS.
  • Uses Google Play Services where available, but also works without them.
  • Features:
    • Get current location.
    • Listen to location changes.
    • Background location (limited on iOS).
  • ✅ Works on Huawei phones, even without GMS.

2. geolocator

  • Also works on both Android and iOS.
  • Features:
    • High-accuracy location tracking.
    • Distance calculation.
    • Location permissions.
  • ✅ Supports Huawei, provided location services are enabled in Android OS.
  • ❗ May rely on Google Play Services for fused location (not available on newer Huawei phones). Falls back to basic location providers.

📱 Huawei-Specific Location Services

🛰️ Huawei Location Kit

  • Plugin: huawei_location
  • Requires Huawei Mobile Services (HMS).
  • Features:
    • Fused location provider (like Google’s).
    • Geofencing.
    • Activity recognition.
  • ✅ Best performance on Huawei devices without GMS.
  • ❌ Not available on other Android or iOS devices.

🚫 Not Recommended for Huawei

❌ Plugins that strictly require Google Play Services

  • Some location plugins (especially older or less maintained ones) crash or return null results on Huawei phones without GMS.
  • Always test on a Huawei device (or emulator with HMS only) to be sure.

✨ Summary Comparison

Plugin GMS Required HMS Support Huawei Devices iOS Support Background Tracking
location ❌ (optional) ✅ (basic) ✅ Yes ✅ Yes ✅ With config
geolocator ❌ (uses fallback) ❌ (no HMS) ✅ Yes (basic GPS) ✅ Yes ✅ With permission
huawei_location ❌ (uses HMS) ✅ Native ✅ Best choice ❌ No ✅ Yes
  • Skipping AI? You’re a Relic – Time to Evolve or Perish!
  • 2026 Flutter Launch Blueprint: Your 10-Step Checklist to App Store Domination
  • Product Requirements Document – for different software development levels
  • The Bottleneck Factory: AI Production Line vs. Human Quality Gate
  • Most Important Things You Could Code in 2026

Categories

  • Apps (25)
  • ChatGPT (26)
  • Choosing a Framework (38)
  • Flutter (280)
  • Graphical User Interface (14)
  • Marketing (119)
  • Software Development (292)
  • Spring (45)
  • StartUp (22)
  • Uncategorized (14)
  • Uncategorized (4)
  • Vaadin (16)

Tags

Algorithms (9) crypto (29) flutterdev (39) General (86) Java (7) QR & Bar Codes (3) Software Dev Choices (33) Spring Boot (1) standards (1) Theme (3) User Authentication & Authorization (9) User Experience (10) Utilities (19) WordPress (11)

Product categories

  • All Technologies (87)
    • Flutter Apps (26)
    • GPT (4)
    • Java (39)
    • Native Android (3)
    • PHP (9)
    • Spring (Boot) / Quarkus (36)
    • Utils (15)
    • Vaadin 24+ (28)
    • Vaadin 8 (1)
  • Apps (18)
    • Employees DB (1)
    • Notes (6)
    • Personal Budget (1)
    • Recipes Book (1)
    • Stuff Organizer (1)
    • To-Do (2)
  • PDF Books (3)
  • Source Code Generators (8)

Recent Posts

  • Skipping AI? You’re a Relic – Time to Evolve or Perish!
  • 2026 Flutter Launch Blueprint: Your 10-Step Checklist to App Store Domination
  • Product Requirements Document – for different software development levels
  • The Bottleneck Factory: AI Production Line vs. Human Quality Gate
  • Most Important Things You Could Code in 2026

Post Categories

  • Apps (25)
  • ChatGPT (26)
  • Choosing a Framework (38)
  • Flutter (280)
  • Graphical User Interface (14)
  • Marketing (119)
  • Software Development (292)
  • Spring (45)
  • StartUp (22)
  • Uncategorized (14)
  • Uncategorized (4)
  • Vaadin (16)