KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
I derived/adapted the following code from Adam Freeman's book "Metro Revealed: Building Windows 8 apps with XAML and C#" to get the Address when the Coordinates are known: public static async Task<string> GetAddressForCoordinates(double latitude, double longitude) { HttpClient httpClient = new HttpClient {BaseAddress = new Uri("http://nominatim.openstreetmap.org")}; HttpResponseMessage httpResult = await httpClient.GetAsync( String.Format("reverse?format=json&lat={0}&lon={1}", latitude, longitude)); JsonObject jsonObject = JsonObject.Parse(await httpResult.Content.ReadAsStringAsync()); return jsonObject.GetNamedObject("address").GetNamedString("road"); } How can I get the opposite (the Coordinates if the Address is known)? UPDATE I'm adding a bounty to this; what I've got already (shown above) is the reverse geocoding (getting the address for the coordinates); what I need is geocoding (getting the coordinates for the address). Based on my reverse geocoding code above, I'm guessing it might be something like this: public static async Task<string> GetCoordinatesForAddress(string address) { HttpClient httpClient = new HttpClient {BaseAddress = new Uri("http://nominatim.openstreetmap.org")}; HttpResponseMessage httpResult = await httpClient.GetAsync( String.Format("format=json&address={0}", address)); JsonObject jsonObject = JsonObject.Parse(await httpResult.Content.ReadAsStringAsync()); return jsonObject.GetNamedObject("address").GetNamedString("lat"); // <-- what about "lon"? } ...but I don't know how to combine the two coordinate (longitude and latitude) values (assuming this is correct, or close to being correct). Can anybody verify this, clean it up, or provide a better example (either using nominatim or otherwise)? UPDATE 2 To answer Peter Ritchie's question/comment below:</
Tags (comma-separated)
Save Edits
Cancel