All Projects → chadly → Geocoding.net

chadly / Geocoding.net

Licence: mit
C# GeoCoding / Address Validation API

Projects that are alternatives of or similar to Geocoding.net

Benmaps.fr
Web maps that don't track you.
Stars: ✭ 147 (-61.01%)
Mutual labels:  google-maps, geocoding
Geo Golang
Go library to access geocoding and reverse geocoding APIs
Stars: ✭ 394 (+4.51%)
Mutual labels:  google-maps, geocoding
Use Places Autocomplete
😎 📍 React hook for Google Maps Places Autocomplete.
Stars: ✭ 739 (+96.02%)
Mutual labels:  google-maps, geocoding
Google Maps
Google Maps Web Services API wrapper for .NET
Stars: ✭ 171 (-54.64%)
Mutual labels:  google-maps, geocoding
svelte-mapbox
MapBox Map and Autocomplete components for Svelte (or Vanilla JS)
Stars: ✭ 267 (-29.18%)
Mutual labels:  geocoding, google-maps
geocoder
Geocoder is a Typescript library which helps you build geo-aware applications by providing a powerful abstraction layer for geocoding manipulations
Stars: ✭ 28 (-92.57%)
Mutual labels:  geocoding, google-maps
google maps
🗺 An unofficial Google Maps Platform client library for the Rust programming language.
Stars: ✭ 40 (-89.39%)
Mutual labels:  geocoding, google-maps
country-bounding-boxes
A list of ISO 3166-1 country codes and their bounding boxes.
Stars: ✭ 26 (-93.1%)
Mutual labels:  geocoding, google-maps
hereR
R package that provides an interface to the HERE REST APIs: Geocoder API, Routing API, Traffic API, Public Transit API and Destination Weather API. Locations and routes are returned as 'sf' objects.
Stars: ✭ 72 (-80.9%)
Mutual labels:  geocoding
Extramaputils
🌍 the simple utility for google maps in android
Stars: ✭ 293 (-22.28%)
Mutual labels:  google-maps
lieu
Dedupe/batch geocode addresses and venues around the world with libpostal
Stars: ✭ 73 (-80.64%)
Mutual labels:  geocoding
ipranges
🔨 List all IP ranges from: Google (Cloud & GoogleBot), Bing (Bingbot), Amazon (AWS), Microsoft (Azure), Oracle (Cloud) and DigitalOcean with daily updates.
Stars: ✭ 38 (-89.92%)
Mutual labels:  bing
Translators
🌏🌍🌎Translators🌎🌍🌏 is a library which aims to bring free, multiple, enjoyable translation to individuals and students in Python. Translators是一个旨在用Python为个人和学生带来免费、多样、愉快翻译的库。
Stars: ✭ 295 (-21.75%)
Mutual labels:  bing
Photo Exif Toolkit
Photo Exif Toolkit Android app entirely written using Kotlin language
Stars: ✭ 37 (-90.19%)
Mutual labels:  google-maps
Geopy
Geocoding library for Python.
Stars: ✭ 3,512 (+831.56%)
Mutual labels:  geocoding
openapi-specification
OpenAPI specification for Google Maps Platform API
Stars: ✭ 27 (-92.84%)
Mutual labels:  google-maps
nominatim-docker
Docker image for Nominatim
Stars: ✭ 33 (-91.25%)
Mutual labels:  geocoding
Privacy Redirect
A simple web extension that redirects Twitter, YouTube, Instagram & Google Maps requests to privacy friendly alternatives.
Stars: ✭ 342 (-9.28%)
Mutual labels:  google-maps
Mapbox Java
The Mapbox Java SDK – Java wrappers around Mapbox APIs and other location data
Stars: ✭ 309 (-18.04%)
Mutual labels:  geocoding
Google Maps Clustering
Fast marker clustering library for Google Maps Android API.
Stars: ✭ 276 (-26.79%)
Mutual labels:  google-maps

Generic C# Geocoding API Build Status

Includes a model and interface for communicating with five popular Geocoding providers. Current implementations include:

The API returns latitude/longitude coordinates and normalized address information. This can be used to perform address validation, real time mapping of user-entered addresses, distance calculations, and much more.

See latest release notes.

⚠️ There is a potential issue (#29) regarding MapQuest that has a workaround. If you would like to help fix the issue, PRs are welcome.

Installation

Install via nuget:

Install-Package Geocoding.Core

and then choose which provider you want to install (or install all of them):

Install-Package Geocoding.Google
Install-Package Geocoding.MapQuest
Install-Package Geocoding.Microsoft
Install-Package Geocoding.Yahoo
Install-Package Geocoding.Here

Example Usage

Simple Example

IGeocoder geocoder = new GoogleGeocoder() { ApiKey = "this-is-my-optional-google-api-key" };
IEnumerable<Address> addresses = await geocoder.GeocodeAsync("1600 pennsylvania ave washington dc");
Console.WriteLine("Formatted: " + addresses.First().FormattedAddress); //Formatted: 1600 Pennsylvania Ave SE, Washington, DC 20003, USA
Console.WriteLine("Coordinates: " + addresses.First().Coordinates.Latitude + ", " + addresses.First().Coordinates.Longitude); //Coordinates: 38.8791981, -76.9818437

It can also be used to return address information from latitude/longitude coordinates (aka reverse geocoding):

IGeocoder geocoder = new YahooGeocoder("consumer-key", "consumer-secret");
IEnumerable<Address> addresses = await geocoder.ReverseGeocodeAsync(38.8976777, -77.036517);

Using Provider-Specific Data

GoogleGeocoder geocoder = new GoogleGeocoder();
IEnumerable<GoogleAddress> addresses = await geocoder.GeocodeAsync("1600 pennsylvania ave washington dc");

var country = addresses.Where(a => !a.IsPartialMatch).Select(a => a[GoogleAddressType.Country]).First();
Console.WriteLine("Country: " + country.LongName + ", " + country.ShortName); //Country: United States, US

The Microsoft and Yahoo implementations each provide their own address class as well, BingAddress and YahooAddress.

API Keys

Google allows anonymous access to it's API, but if you start hitting rate limits, you must sign up for a new Server API Key.

Bing requires an API key to access its service.

You will need a consumer secret and consumer key (PDF) for Yahoo.

MapQuest API requires a key. Sign up here: (http://developer.mapquest.com/web/products/open)

HERE requires an app ID and app Code

How to Build from Source

dotnet restore
dotnet build

For a nice experience, use Visual Studio Code to work with the project. The editor is cross platform and open source.

Alternatively, if you are on Windows, you can open the solution in Visual Studio and build.

Service Tests

You will need to generate API keys for each respective service to run the service tests. Make a settings-override.json as a copy of settings.json in the test project and put in your API keys. Then you should be able to run the tests.

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].