flutter_nominatim 0.0.1+2 copy "flutter_nominatim: ^0.0.1+2" to clipboard
flutter_nominatim: ^0.0.1+2 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 package publisher

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.

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

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

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
19
likes
150
points
1
downloads
screenshot

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

Documentation

API reference

License

MIT (license)

Dependencies

dio, flutter

More

Packages that depend on flutter_nominatim