flutter_nominatim은 OpenStreetMap의 Nominatim 서비스를 사용하여 무료로 지오코딩 및 장소 검색을 가능하게 하는 Flutter 플러그인입니다. API 키 없이도 성능과 신뢰성을 위한 내장 최적화를 제공합니다. Android, iOS, Web, macOS, Windows, Linux 등 여러 플랫폼을 지원하여 주소 검색 및 위치 서비스가 필요한 크로스플랫폼 애플리케이션에 적합합니다. 지리 데이터를 검색하고 가져오는 것을 직관적인 방법으로 간편하게 통합할 수 있습니다.
사용 사례
앱 내 주소 검색
사용자 입력의 지오코딩
장소 자동 완성
위치 기반 서비스
지도 핀 배치
오프라인 대응 위치 검색
주요 기능
API 키가 필요하지 않습니다
내장 요청 최적화
크로스 플랫폼 지원
간단한 API 인터페이스
실시간 장소 제안
OpenStreetMap 기반
적합한 대상
무료 지오코딩을 찾는 개발자
장소 검색 기능이 필요한 앱
제3자 API 비용을 회피하는 프로젝트
크로스 플랫폼 위치 기능
위치 기반 앱 프로토타이핑
고려 사항
Nominatim의 속도 제한
OpenStreetMap 데이터 품질에 의존
고용량 생산 환경 사용에 적합하지 않음
공개 Nominatim 인스턴스로 제한됨
인터넷 연결이 필요합니다
피크 사용 시 지연 가능성
원본 README
연결된 소스 저장소의 README 원문 스냅샷입니다. 최신 내용은 저장소에서 확인하세요.
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
// Initializefinal nominatim = Nominatim.instance;
// Search placesfinal results = await nominatim.search("London");
// Get address from coordinatesfinal address = await nominatim.getAddressFromLatLng(51.5074, -0.1278);
// Get coordinates from addressfinal coordinates = await nominatim.getLatLngFromAddress("London Bridge");