gmaps-api-net


Fast and lightweight client libraries for Google Maps API.

Google Maps API for .NET

UPDATE: Code Repo move

The main source repository has been moved to github for easiest forking/pull requests/etc https://github.com/ericnewton76/gmaps-api-net.git

Use Github for issues/forks/pulls etc... and Happy GITing! Eric Newton 2013/Feb/12

Overview

This project intends to provide all the features available in the Google Maps API up to v3.7. It is being developed in C# for .NET Framework 3.5.

Please note that this project is still in design and development phase; the libraries may suffer major changes even at the interface level, so don't rely (yet) in this software for production uses.

Libraries

Designed with simplicity and extensibility in mind, there are different libraries according to what you need.

  • Google.Maps is a full featured API client library, providing strongly typed access to the API.
  • Google.Maps (to be released in next version), works on top of the core library to provide a business-level interface as well as enhanced functionality such as distance calculations, ~~HTML helpers,~~ caching support and more.

API Support

Currently the service library supports full coverage of the following Google Maps APIs: * Geocoding * Elevation * Static Maps * Direction (thanks to malke.eklam) * Direction Matrix (thanks to mocciavinc...@gmail.com) * Polyline encoding (code based on source from briancaos.wordpress.com)

Quick Examples

Using Google Maps API for .NET is really easy, even if you decide to use the Service library.

Getting an address from the Geocoding service

Let's suppose we want to search an address and get more information about it. We can write:

var request = new GeocodingRequest(); request.Address = "1600 Amphitheatre Parkway"; request.Sensor = "false"; var response = GeocodingService.GetResponse(request); The GeocodingService class submits the request to the API web service, and returns the response strongly typed as a GeocodingResponse object which may contain zero, one or more results. Assuming we received at least one result, let's get some of its properties:

``` var result = response.Results.First();

Console.WriteLine("Full Address: " + result.FormattedAddress); // "1600 Amphitheatre Pkwy, Mountain View, CA 94043, USA" Console.WriteLine("Latitude: " + result.Geometry.Location.Latitude); // 37.4230180 Console.WriteLine("Longitude: " + result.Geometry.Location.Longitude); // -122.0818530 ```

Getting a static map url

Static Maps support allows you to get a valid url which you can use, for example, with an <img src=""> tag.

``` var map = new StaticMapRequest(); map.Center = new Location("1600 Amphitheatre Parkway Mountain View, CA 94043"); map.Size = new System.Drawing.Size(400, 400); map.Zoom = 14; map.Sensor = false;

var url = map.ToUri(); ```

The Service library is meant to be lightweight and simple, with a very limited responsibilities. It is basically a developer-friendly and strongly-typed API wrapper. It doesn't validate any parameters beyond limits explicitly defined in the online documentation.

If you want to use the APIs at a higher level, you may found useful the main business library which first alpha version is going to be released in the next few days.

Project Roadmap

The roadmap has changed a little with changing of hands, but the basic premise is the same. * ~~**Geocoding API**~~ * ~~**Elevation API**~~ * Static Maps (WORKING) * Documentation! (WORKING) * Sample code (WORKING) * Higher level API classes (WORKING) * Cacheability support (WORKING) * HTML helpers -will be implemented in a tandem project for MVC and WebForms * Cache implementation * Smart address search

Contact

Questions, comments and/or suggestions are welcome! You can send Luis an email at luisfarzati@katulu.net, or you can follow him on Twitter: http://twitter.com/luisfarzati

Thank you!

Project Information

Labels:
csharp .net maps api client library gps geocoding elevation