패키지, 저장소 및 앱 카테고리 검색

GitHub 저장소YudizAndroidPayal/flutter_nominatim

flutter_nominatim

OpenStreetMap의 Nominatim 서비스를 사용하여 무료 지오코딩 및 장소 검색을 위한 플러터 플러그인으로 내장 최적화 기능이 있으며 API 키가 필요하지 않습니다.

flutter_nominatim 프로젝트 이미지
스타
0
포크
1
최근 푸시(UTC)
2024. 12. 20.
프로젝트 상태
활성

원본 README

아래는 영문 원문 스냅샷입니다. 최신 내용은 GitHub에서 확인하세요.

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
Payal Senjaliya GitHub avatar
GitHub 작성자

Payal Senjaliya ↗

언어DartRubySwiftKotlinJavaObjective-C

이 저장소가 배포한 패키지

사용 중인 의존성

의존성 목록 4 개

  • flutter{"sdk":"flutter"}
  • dio^5.3.2
  • flutter_test개발 의존성{"sdk":"flutter"}
  • flutter_lints개발 의존성^3.0.0

프로젝트에 맞는 저장소를 선택하려면?

사용 목적에 따라 검색하고 개발 활동을 비교한 뒤 원본 저장소에서 요구 사항을 확인하세요.

  1. 이름, 작성자 또는 설명으로 검색하고 기술 주제로 범위를 좁힙니다.
  2. 스타, 포크, 최근 푸시를 함께 비교하세요. 스타는 관심의 지표이며 품질을 보장하지 않습니다.
  3. 사용하기 전에 GitHub에서 README, 라이선스, Issues를 확인하세요.

출처 및 관리

“A repository is the most basic element of GitHub.”

GitHub Docs — About repositories ↗