flutter_nominatim 0.0.1 copy "flutter_nominatim: ^0.0.1" to clipboard
flutter_nominatim: ^0.0.1 copied to clipboard

A Flutter plugin for free geocoding and place search using OpenStreetMap's Nominatim service with built-in optimizations and no API key required

GitHub code size Pub License: MIT

flutter_nominatim #

Why Choose flutter_nominatim? 🚀 #

Completely Free & Open Source! Unlike other geocoding services, Nominatim is 100% free to use with NO API key required. You can start implementing location features in your app immediately without any payment or API key setup.

Key Benefits #

Feature Description Benefit
💰 Free Forever No API key, no pricing tiers Save hundreds of dollars compared to paid geocoding services
🔑 No Authentication No API keys or tokens needed Quick implementation without setup hassle
🌍 Global Coverage Worldwide address database Works everywhere your app does
🚀 Easy Integration Simple API methods Get started in minutes
⚡ Performance Optimized Built-in rate limiting & caching Smooth user experience

Example Screenshots 📸 #

Place Search Convert LatLng to Address Convert Address to LatLng
Auto-complete search with realtime results Convert coordinates to human-readable address Convert address to geographical coordinates

Features Overview #

1. Place Search 🔍 #

  • Auto-complete with debouncing
  • Real-time results as you type
  • Most relevant matches
  • Rich place details
  • Polygon Boundaries for places

2. Geocoding Services #

Service Description Example
Forward Geocoding Convert address to coordinates "London Bridge" → (51.5074, -0.1278)
Reverse Geocoding Convert coordinates to address (51.5074, -0.1278) → "London Bridge, London, UK"

3. Built-in Optimizations #

  • Automatic request debouncing
  • Rate limit handling
  • Error management
  • Input validation

Quick Start #

Installation #

dependencies:
  flutter_nominatim: ^1.0.0

Basic Usage #

// Initialize

final nominatim = Nominatim.instance;

// Search places
final results = await nominatim.search("London");

// Get address from coordinates
final address = await nominatim.getAddressFromLatLng(51.5074, -0.1278);

// Get coordinates from address
final coordinates = await nominatim.getLatLngFromAddress("London Bridge");

Implementation Examples #

Auto-complete Search Widget #

TextField(
  controller: searchController,
  decoration: const InputDecoration(
    hintText: 'Search places...',
    prefixIcon: Icon(Icons.search),
  ),
  onChanged: (query) {
    if (query.length >= 3) {
      nominatim.search(query).then((results) {
        // Handle results
      });
    }
  },
)

Usage Guidelines #

Input Constraints #

Parameter Range/Format Example
Latitude -90 to 90 51.5074
Longitude -180 to 180 -0.1278
Search Query Min 3 characters "London"

Rate Limiting #

  • Maximum 1 request per second
  • Built-in request management
  • Automatic request queuing

Why It's Free & Open #

Nominatim is powered by OpenStreetMap, the world's largest collaborative mapping project. This means:

  • 🆓 Completely Free: No hidden costs or subscription fees
  • 🔓 No API Key Required: Start developing immediately
  • 🌐 Community Driven: Regular updates from global contributors
  • 📈 Constantly Improving: Database grows and improves daily

Attribution Requirements #

When using this plugin, include:

© OpenStreetMap contributors

Support & Contribution #

We welcome:

  • 🐛 Bug reports
  • 💡 Feature suggestions
  • 🤝 Pull requests
  • 📖 Documentation improvements

License #

MIT License - feel free to use in your projects!

Visitors Count #

Loading
16
likes
0
points
4
downloads

Publisher

verified publisheryudiz.com

Weekly Downloads

A Flutter plugin for free geocoding and place search using OpenStreetMap's Nominatim service with built-in optimizations and no API key required

Repository (GitHub)
View/report issues

Topics

#geocoding #location #maps #nominatim #openstreetmap

License

unknown (license)

Dependencies

dio, flutter

More

Packages that depend on flutter_nominatim