Nominatim을 통한 무료 지오코딩을 통해 지도 위치를 선택할 수 있는 플러터 패키지로, 완전히 오픈소스 솔루션을 제공합니다. 향상된 지도 기능을 위해 Mapbox 통합을 지원합니다. 이 선택기는 사용자가 지도 위에서 직접 위치를 검색하고 선택할 수 있게 해주며, 유료 서비스에 의존하지 않고 주소 입력이나 위치 선택이 필요한 앱에 적합합니다. 간단함과 성능을 고려해 설계되었으며, 플러터 프로젝트에 원활하게 통합됩니다.
사용 사례
폼 내 주소 검색
배달 앱의 위치 선택
여행 앱의 위치 기반 기능
지도 기반 사용자 프로필 설정
오프라인 사용 가능한 위치 입력
주요 기능
Nominatim을 사용한 무료 지오코딩
Mapbox 지원
Flutter와의 간단한 통합
실시간 위치 검색
사용자 정의 가능한 지도 외관
적합한 대상
무료 지오코딩을 찾는 개발자
경량 위치 선택기 필요 앱
API 비용을 회피하는 프로젝트
여행 및 물류 애플리케이션
오픈소스 중심 팀
고려 사항
외부 Nominatim 서비스의 가용성에 따라 달라집니다
높은 사용량 시 속도 제한이 적용될 수 있습니다
Mapbox는 별도의 API 키가 필요합니다
제한된 오프라인 기능
지오코딩을 위해 인터넷 연결이 필요합니다
원본 README
연결된 소스 저장소의 README 원문 스냅샷입니다. 최신 내용은 저장소에서 확인하세요.
Nominatim Location Picker
Nominatim Location Picker is a package that appears as a FREE alternative (WITH NO API KEYS OR EVEN ACCESSTOKEN, NONE OF THEM ARE NECESSARY) with support for Geocoding with a beautiful and coherent interface using the OpenStreetMap Nominatim.
In the current version, support for Mapbox has also been added, with an interface in line with Nominatim so you can choose which one to use or vary between the two of them.
Nominatim Location Picker Screenshots
MapBox Location Picker Screenshots
Nominatim Location Picker's version 0.1.0+7 features!
- Custom Maps and Markers
- Support with the same interface for MapBox;
- Auto search with MapBox
- Geocoding search with Nominatim and Mapbox;
- Get Current User Location;
- Returns the Latitude and Longitude coordinates of the searched location;
- Returns the description of the searched location;
- Returns the Country, State, city and district of the searched Location in both Nominatim and MapBox;
OpenStreetMap Nominatim
Nominatim (from the Latin, 'by name') is a tool to search OpenStreetMap data
by name and address (geocoding) and to generate synthetic addresses of
OSM points (reverse geocoding). An instance with up-to-date data can be found
at https://nominatim.openstreetmap.org. Nominatim is also used as one of the
sources for the Search box on the OpenStreetMap home page.
Nominatim's Documentation
The documentation of the latest development version is in the
docs/ subdirectory. A HTML version can be found at
https://nominatim.org/release-docs/develop/ .
Nominatim's Limitations
No heavy uses (an absolute maximum of 1 request per second).
Provide a valid HTTP Referer or User-Agent identifying the application (stock User-Agents as set by http libraries will not do).
Clearly display attribution as suitable for your medium.
Data is provided under the ODbL license which requires to share alike (although small extractions are likely to be covered by fair usage / fair dealing).
MapBox
Mapbox is a large provider of custom online maps for websites and applications. Since 2010, it has rapidly expanded the niche of custom maps, as a response to the limited choice offered by map providers such as Google Maps.
MapBox's Documentation
Mapbox APIs are divided into four distinct services: Maps, Navigation, Search, and Accounts. Each of these services has its own overview page in this documentation. These overview pages are divided into the individual APIs that make up the service. The documentation for each API is structured by endpoints. An endpoint is a specific method within an API that performs one action and is located at a specific URL
android.permission.ACCESS_FINE_LOCATION Allows the API to determine as precise a location as possible from the available location providers, including the Global Positioning System (GPS) as well as WiFi and mobile cell data.
android.permission.ACCESS_COARSE_LOCATION Allows the API to use WiFi or mobile cell data (or both) to determine the device's location. The API returns the location with an accuracy approximately equivalent to a city block.
import'package:nominatim_location_picker/nominatim_location_picker.dart';
WidgetgetLocationWithMapBox() {
returnMapBoxLocationPicker(
popOnSelect: true,
apiKey: "YOUR API KEY",
limit: 10,
language: 'pt',
country: 'br',
searchHint: 'Pesquisar',
awaitingForLocation: "Procurando por sua localização",
onSelected: (place) {
setState(() {
_pickedLocationText = place.geometry.coordinates; // Example of how to call the coordinates after using the Mapbox Location Pickerprint(_pickedLocationText);
});
},
context: context,
);
}
MapBox Location Picker with Custom Maps and Markers