how to change a street address to a lat/lng.
Sample web service request to get lat/lng:
http://maps.googleapis.com/maps/api/geocode/xml?sensor=false&address=...
C# to use the web service
Geocoding Example
The following method accepts a comma separated address string and returns the longitude and latitude.public static GeocoderLocation Locate(string query) { WebRequest request = WebRequest .Create("http://maps.googleapis.com/maps/api/geocode/xml?sensor=false&address=" + HttpUtility.UrlEncode(query)); using (WebResponse response = request.GetResponse()) { using (Stream stream = response.GetResponseStream()) { XDocument document = XDocument.Load(new StreamReader(stream)); XElement longitudeElement = document.Descendants("lng").FirstOrDefault(); XElement latitudeElement = document.Descendants("lat").FirstOrDefault(); if (longitudeElement != null && latitudeElement != null) { return new GeocoderLocation { Longitude = Double.Parse(longitudeElement.Value, CultureInfo.InvariantCulture), Latitude = Double.Parse(latitudeElement.Value, CultureInfo.InvariantCulture) }; } } } return null; }
Location Class
[Serializable] public class GeocoderLocation { public double Longitude { get; set; } public double Latitude { get; set; } public override string ToString() { return String.Format("{0}, {1}", Latitude, Longitude); } }
source:
No comments:
Post a Comment