|
1 | | -# Generic C# Geocoding API [/statusIcon)](http://teamcity.chadly.net/viewType.html?buildTypeId=GeocodingNe_Build&guest=1) |
| 1 | +# Generic C# Geocoding API [](https://github.com/exceptionless/Geocoding.net/actions/workflows/build.yml) [](https://github.com/exceptionless/Geocoding.net/actions/workflows/publish-packages.yml) [](https://github.com/exceptionless/Geocoding.net/actions/workflows/codeql-analysis.yml) |
2 | 2 |
|
3 | 3 | Includes a model and interface for communicating with five popular Geocoding providers. Current implementations include: |
4 | 4 |
|
5 | | -* [Google Maps](https://developers.google.com/maps/) - [docs](https://developers.google.com/maps/documentation/geocoding/) |
6 | | -* [Yahoo! BOSS Geo Services](http://developer.yahoo.com/boss/geo/) - [docs](http://developer.yahoo.com/geo/placefinder/guide/index.html) |
7 | | -* [Bing Maps (aka Virtual Earth)](http://www.microsoft.com/maps/) - [docs](http://msdn.microsoft.com/en-us/library/ff701715.aspx) |
8 | | -* :warning: MapQuest [(Commercial API)](http://www.mapquestapi.com/) - [docs](http://www.mapquestapi.com/geocoding/) |
9 | | -* :warning: MapQuest [(OpenStreetMap)](http://open.mapquestapi.com/) - [docs](http://open.mapquestapi.com/geocoding/) |
10 | | -* [HERE](https://www.here.com/) - [docs](https://developer.here.com/documentation) |
| 5 | +* [Google Maps](https://developers.google.com/maps/) - [Google geocoding docs](https://developers.google.com/maps/documentation/geocoding/) |
| 6 | +* [Yahoo! BOSS Geo Services](http://developer.yahoo.com/boss/geo/) - [Yahoo PlaceFinder docs](http://developer.yahoo.com/geo/placefinder/guide/index.html) |
| 7 | +* [Bing Maps (aka Virtual Earth)](http://www.microsoft.com/maps/) - [Bing geocoding docs](http://msdn.microsoft.com/en-us/library/ff701715.aspx) |
| 8 | +* :warning: MapQuest [(Commercial API)](http://www.mapquestapi.com/) - [MapQuest geocoding docs](http://www.mapquestapi.com/geocoding/) |
| 9 | +* :warning: MapQuest [(OpenStreetMap)](http://open.mapquestapi.com/) - [MapQuest OpenStreetMap geocoding docs](http://open.mapquestapi.com/geocoding/) |
| 10 | +* [HERE Maps](https://www.here.com/) - [HERE developer documentation](https://developer.here.com/documentation) |
11 | 11 |
|
12 | 12 | 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. |
13 | 13 |
|
14 | | -See latest [release notes](https://github.com/chadly/Geocoding.net/releases/latest). |
| 14 | +See latest [release notes](https://github.com/exceptionless/Geocoding.net/releases/latest). |
15 | 15 |
|
16 | 16 | :warning: There is a potential issue ([#29](https://github.com/chadly/Geocoding.net/issues/29)) regarding MapQuest that has a workaround. If you would like to help fix the issue, PRs are welcome. |
17 | 17 |
|
@@ -89,3 +89,15 @@ Alternatively, if you are on Windows, you can open the solution in [Visual Studi |
89 | 89 | ### Service Tests |
90 | 90 |
|
91 | 91 | 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. |
| 92 | + |
| 93 | +Most provider-backed integration tests skip with a message indicating which setting is required when credentials are missing. The Yahoo suite is still explicitly skipped while issue #27 remains open, but it now uses the same credential checks when those tests are re-enabled. |
| 94 | + |
| 95 | +## Sample App |
| 96 | + |
| 97 | +The sample app in `samples/Example.Web` is an ASP.NET Core 10 minimal API that can geocode and reverse geocode against any configured provider. |
| 98 | + |
| 99 | +```bash |
| 100 | +dotnet run --project samples/Example.Web/Example.Web.csproj |
| 101 | +``` |
| 102 | + |
| 103 | +Configure a provider in `samples/Example.Web/appsettings.json` or via environment variables such as `Providers__Google__ApiKey`. Once the app is running, use `samples/Example.Web/sample.http` to call `/providers`, `/geocode`, and `/reverse`. |
0 commit comments