Для этого решения вам необходимо скачать «API .NET для Google Maps Geocoder» Шармила Десаи из CodeProject (открытая лицензия), расположенного здесь:
http://www.codeproject.com/KB/custom-controls/GMapGeocoder.aspx.
Реализуйте следующий код, вставив требуемый адрес города, штата или улицы, и GoogleMapsAPI вернет результаты GeoCoded, используя служебный метод GMapGeocoder, 'Util.Geocode'.
Счастливого кодирования!
using System;
using System.Collections.Generic;
using System.Linq;
using GMapGeocoder;
namespace GeoCodeAddresses
{
class Program
{
static void Main(string[] args)
{
string city = "Carmel";
string state = "Indiana";
string GMapsAPIkey =
System.Configuration.ConfigurationSettings.AppSettings["GoogleMapsApiKey"].ToString();
GMapGeocoder.Containers.Results results =
GMapGeocoder.Util.Geocode(
string.Format("\"{1}, {2}\"", city, state), GMapsAPIkey);
switch (results.StatusCode)
{
case StatusCodeOptions.Success:
GMapGeocoder.Containers.USAddress match1 = results.Addresses[0];
//city = match1.City;
//state = match1.StateCode;
double lat = match1.Coordinates.Latitude;
double lon = match1.Coordinates.Longitude;
Console.WriteLine("Latitude: {0}, Longitude: {1}", lat, lon);
break;
case StatusCodeOptions.BadRequest:
break;
case StatusCodeOptions.ServerError:
break;
case StatusCodeOptions.MissingQueryOrAddress:
break;
case StatusCodeOptions.UnknownAddress:
break;
case StatusCodeOptions.UnavailableAddress:
break;
case StatusCodeOptions.UnknownDirections:
break;
case StatusCodeOptions.BadKey:
break;
case StatusCodeOptions.TooManyQueries:
break;
default:
break;
}
}
}
}
}