В этом примере используется API Yahoo, но работа для меня выполнена.Будет работать, если вы просто отправите почтовый индекс или город, штат.Я использую набор данных, потому что я зависим от них.
private void YahooParseLatLon(string address_)
{
HttpWebRequest feed =
HttpWebRequest.Create("http://local.yahooapis.com/MapsService/V1/geocode?
appid=YOUR_APID&street=" + address_) as HttpWebRequest;
WebResponse feedresponse = default(WebResponse);
feedresponse = feed.GetResponse();
DataSet data = new DataSet();
data.ReadXml(feedresponse.GetResponseStream());
if (!string.IsNullOrEmpty(data.Tables(0).Rows(0).Item("Address"))) {
//process lat lon values
string lat = data.Tables(0).Rows(0).Item("Latitude");
string lon = data.Tables(0).Rows(0).Item("Longitude");
}
else {
//process no address found
}
data.Dispose();
feedresponse = null;
feed = null;
}
Я использую это для сбора широты / долготы для адресов новых заказов, размещенных в системе моей компании.Затем я использую эти данные для заполнения карты, интегрированной в приложение планирования для наших полевых агентов.