Beispiel #1
0
        public async Task<Address> GetAddress(Coordinates location)
        {
            string requestUri = String.Format(baseUri, string.Format("{0},{1}", location.Latitude, location.Longitude), _bingMapsKey);
            var task = client.GetAsync(requestUri);
            HttpResponseMessage response = await task;
            response.EnsureSuccessStatusCode();
            var json = await response.Content.ReadAsStringAsync();
            System.Diagnostics.Debug.WriteLine(json);

            /*
                {"authenticationResultCode":"ValidCredentials","brandLogoUri":"http:\/\/dev.virtualearth.net\/Branding\/logo_powered_by.png","copyright":"Copyright © 2012 Microsoft and its suppliers. All rights reserved. This API cannot be accessed and the content and any results may not be used, reproduced or transmitted in any manner without express written permission from Microsoft Corporation.","resourceSets":[{"estimatedTotal":1,"resources":[{"__type":"Location:http:\/\/schemas.microsoft.com\/search\/local\/ws\/rest\/v1","bbox":[38.342731475830078,-107.95529937744141,38.668247222900391,-107.63488006591797],"name":"81401, CO","point":{"type":"Point","coordinates":[38.505489349365234,-107.79508972167969]},"address":{"adminDistrict":"CO","adminDistrict2":"Montrose Co.","countryRegion":"United States","formattedAddress":"81401, CO","locality":"Montrose","postalCode":"81401"},"confidence":"Medium","entityType":"Postcode1","geocodePoints":[{"type":"Point","coordinates":[38.505489349365234,-107.79508972167969],"calculationMethod":"Rooftop","usageTypes":["Display"]}],"matchCodes":["Good","UpHierarchy"]}]}],"statusCode":200,"statusDescription":"OK","traceId":"a36c8d3f28c64c47938f0f100d098877|BL2M001304|02.00.149.2500|BL2MSNVM002819, BL2MSNVM003153"}             
             */

            Entity result = JsonConvert.DeserializeObject<Entity>(json);

            if (result != null && result.StatusCode == 200 
                && result.ResourceSets.Count > 0 && 
                result.ResourceSets[0].Resources.Count > 0
                && result.ResourceSets[0].Resources[0].EntityType == "Address")
            {
                return result.ResourceSets[0].Resources[0].Address;
            }

            return null;            
        }
Beispiel #2
0
 public UsState(string fips, string name, double lat, double lng)
 {
     Fips = fips;
     Name = name;
     Center = new Coordinates(lat, lng);
 }