All Projects → fabiocaccamo → Fcipaddressgeocoder

fabiocaccamo / Fcipaddressgeocoder

Licence: mit
iOS Geocoder for geocode device IP Address location using GeoIP service(s) and a block-based syntax. 💻🌍

Projects that are alternatives of or similar to Fcipaddressgeocoder

Fccurrentlocationgeocoder
iOS Geocoder for forward geocode and reverse geocode user's current location using a block-based syntax. 📍🌍
Stars: ✭ 268 (+135.09%)
Mutual labels:  location, geocoding, geocoder, geoip, pod
Pelias Android Sdk
Android sdk for pelias
Stars: ✭ 20 (-82.46%)
Mutual labels:  location, geocoding, geocoder
kirby-locator
A simple map & geolocation field, built on top of open-source services and Mapbox. Kirby 3 only.
Stars: ✭ 83 (-27.19%)
Mutual labels:  geocoding, location
Rxgps
Finding current location cannot be easier on Android !
Stars: ✭ 307 (+169.3%)
Mutual labels:  location, geocoding
Bblocationmanager
A Location Manager for easily implementing location services & geofencing in iOS. Ready for iOS 11.
Stars: ✭ 107 (-6.14%)
Mutual labels:  location, geocoder
Osmunda
An offline geocode library for android, powered by SQLite, using osm data. 离线地理编码Android库,基于SQLite,使用开放街道地图数据。
Stars: ✭ 37 (-67.54%)
Mutual labels:  geocoding, geocoder
NominatimGeocoderBackend
UnifiedNlp geocoder backend that uses the OSM Nominatim service
Stars: ✭ 49 (-57.02%)
Mutual labels:  geocoding, geocoder
Gisgraphy
geocoding and geolocalisation webservices for Geonames, Openstreetmap, Openaddresses, Tiger and quattroshapes data
Stars: ✭ 275 (+141.23%)
Mutual labels:  geocoding, geocoder
Geopy
Geocoding library for Python.
Stars: ✭ 3,512 (+2980.7%)
Mutual labels:  geocoding, geocoder
Googleapi
C# .NET Core Google Api (Maps, Places, Roads, Search, Translate). Supports all endpoints and requests / responses.
Stars: ✭ 346 (+203.51%)
Mutual labels:  location, geocoding
Geo Golang
Go library to access geocoding and reverse geocoding APIs
Stars: ✭ 394 (+245.61%)
Mutual labels:  geocoding, geocoder
python-omgeo
OMGeocoder - A python geocoding abstraction layer
Stars: ✭ 34 (-70.18%)
Mutual labels:  geocoding, geocoder
pinpoint
🌎 A python script for finding your Mac.
Stars: ✭ 56 (-50.88%)
Mutual labels:  location, geocoder
geocoder
Google Maps geocoding library for Scala
Stars: ✭ 13 (-88.6%)
Mutual labels:  location, geocoder
Atlas
🌎 Atlas is a set of APIs for looking up information about locations
Stars: ✭ 21 (-81.58%)
Mutual labels:  geocoding, location
GeoLite2-Country
GeoLite2-Country.mmdb.gz CDN files based on Free Open Source CDN jsDelivr!
Stars: ✭ 69 (-39.47%)
Mutual labels:  location, geoip
geocoder
Geocoder is a Typescript library which helps you build geo-aware applications by providing a powerful abstraction layer for geocoding manipulations
Stars: ✭ 28 (-75.44%)
Mutual labels:  geocoding, geocoder
leaflet-opencage-search
A Leaflet geocoding control that uses the OpenCage geocoding API
Stars: ✭ 18 (-84.21%)
Mutual labels:  geocoding, geocoder
Maxminddb Golang
MaxMind DB Reader for Go
Stars: ✭ 319 (+179.82%)
Mutual labels:  geoip, ip-address
Geocoder
🌎 GoLang package that provides an easy way to use the Google Geocoding API
Stars: ✭ 23 (-79.82%)
Mutual labels:  geocoding, geocoder

FCIPAddressGeocoder Pod version Pod platforms Pod license

iOS Geocoder for geocode device IP Address location using GeoIP service(s) and a block-based syntax.

Supported Services

(feel free to suggest other services to support)

Requirements & Dependecies

  • iOS >= 5.0
  • ARC enabled
  • CoreLocation Framework

Installation

CocoaPods:

pod 'FCIPAddressGeocoder'

Manual install:

Copy FCIPAddressGeocoder.h and FCIPAddressGeocoder.m to your project.

Usage

//the service used by default is FreeGeoIP, but you can set the default service to another one
//this method will affect the default service/url of all instances, included the shared one
//if you need to change the default service/url it's recommended to do it application:didFinishLaunching
[FCIPAddressGeocoder setDefaultService:FCIPAddressGeocoderServiceFreeGeoIP];

//some services like FreeGeoIP are open-source, and you could need to use an instance of it running on your own server
[FCIPAddressGeocoder setDefaultService:FCIPAddressGeocoderServiceFreeGeoIP andURL:@"http://127.0.0.1/"];
//you can use the shared instance
FCIPAddressGeocoder *geocoder = [FCIPAddressGeocoder sharedGeocoder];

//or create a new geocoder
FCIPAddressGeocoder *geocoder = [FCIPAddressGeocoder new];

//or create a new geocoder which uses a custom instance of the FreeGeoIP service installed on your own server
FCIPAddressGeocoder *geocoder = [[FCIPAddressGeocoder alloc] initWithService:FCIPAddressGeocoderServiceFreeGeoIP andURL:@"http://127.0.0.1/"];
//set if the geocoder can use all available services in case of failure of the default one
//very useful since 3rd party services are not depending by us and could be temporary unavailable or no more active
//by default this property value is set to YES only if you use the shared geocoder or if you create a geocoder without specifing its service/url
geocoder.canUseOtherServicesAsFallback = YES;
//IP Address geocoding (geocoding results are cached for 1 minute)
[geocoder geocode:^(BOOL success) {

    if(success)
    {
        //you can access the location info-dictionary containing all informations using 'geocoder.locationInfo'
        //you can access the location using 'geocoder.location'
        //you can access the location city using 'geocoder.locationCity' (it could be nil)
        //you can access the location country using 'geocoder.locationCountry'
        //you can access the location country-code using 'geocoder.locationCountryCode'
    }
    else {
        //you can debug what's going wrong using: 'geocoder.error'
    }
}];
//check if geocoding
[geocoder isGeocoding]; //returns YES or NO
//cancel geocoding
[geocoder cancelGeocode];

License

Released under MIT License.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].