Вызов API веб-службы Google map от asp.net MVC - PullRequest
0 голосов
/ 18 апреля 2011

Я нашел следующий код для вызова API веб-карты Google: -

public static class Geocoder{
private static string _GoogleMapsKey = Config.getAppSetting(“GoogleMapsKey”);

public static Geolocation? ResolveAddress(string query)

{if (string.IsNullOrEmpty(_GoogleMapsKey))
_GoogleMapsKey = ConfigurationManager.AppSettings["GoogleMapsKey"];

string url = “http://maps.google.com/maps/geo?q={0}&output=xml&key=” + _GoogleMapsKey; 

url = String.Format(url, query);

XmlNode coords = null;

try{

string xmlString = GetUrl(url);

XmlDocument xd = new XmlDocument();

xd.LoadXml(xmlString);

XmlNamespaceManager xnm = new XmlNamespaceManager(xd.NameTable);

coords = xd.GetElementsByTagName(“coordinates”)[0];

}catch { }

Geolocation? gl = null;

if (coords != null){

string[] coordinateArray = coords.InnerText.Split(‘,’);

if (coordinateArray.Length >= 2)

{gl = new Geolocation(Convert.ToDecimal(coordinateArray[1].ToString()), 
Convert.ToDecimal(coordinateArray[0].ToString()));

}

}return gl;

}public static Geolocation? ResolveAddress(string address, string city, string state, 
string postcode, string country)

{return ResolveAddress(address + “,” + city + “,” + state + “,” + postcode + ” “ + 
country);}

private static string GetUrl(string url)

{string result = string.Empty;

System.Net.WebClient Client = new WebClient();

using (Stream strm = Client.OpenRead(url))

{StreamReader sr = new StreamReader(strm);

result = sr.ReadToEnd();

}return result;}}

public struct Geolocation

{public decimal Lat;

public decimal Lon;

public Geolocation(decimal lat, decimal lon){

Lat = lat;

Lon = lon;}

public override string ToString()
{return “Latitude: “ + Lat.ToString() + ” Longitude: “ + Lon.ToString();

}public string ToQueryString()

{return “+to:” + Lat + “%2B” + Lon;}}

** Итак, я создал новый класс модели, который содержит приведенный выше код, и для проверки своей работы я написал следующее в контроллере

Geocoder.ResolveAddress(“University road”,”rajkot”,”gujarat”,”",”India”)

Но я все еще не знаю, как создать связанный вид для отображения карты? Заранее благодарен за любую помощь. **

1 Ответ

1 голос
/ 19 мая 2011

Я опубликовал проект с открытым исходным кодом, называемый библиотекой-оболочкой "google-maps".

С его помощью вы можете легко запрашивать карты Google для геокодирования, маршрутов, высоты и в будущем также мест.

С этой библиотекой вы можете получать данные только из геокодировки.Элементы управления пользовательским интерфейсом не включены.

Пожалуйста, проверьте это здесь - http://code.google.com/p/google-maps/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...