/// <summary> /// Find Time Zone test /// /// https://msdn.microsoft.com/en-us/library/mt829732.aspx /// </summary> static public void FindTimeZoneTest() { Console.WriteLine("Running Find Time Zone Test: By Query"); var dt = DateTime.Now; var query_tz_request = new FindTimeZoneRequest("Seattle, USA", dt) { BingMapsKey = _ApiKey }; var query_resources = GetResourcesFromRequest(query_tz_request); Console.WriteLine(query_tz_request.GetRequestUrl()); var r_query = (query_resources[0] as RESTTimeZone); if (r_query.TimeZoneAtLocation.Length > 0) { var qtz = (r_query.TimeZoneAtLocation[0] as TimeZoneAtLocationResource); Console.WriteLine($"Place Name: {qtz.PlaceName}"); PrintTZResource(qtz.TimeZone[0] as TimeZoneResponse); } else { Console.WriteLine("No Time Zone Query response."); } Console.WriteLine("\nRunning Find Time Zone Test: By Point"); Coordinate cpoint = new Coordinate(47.668915, -122.375789); var point_tz_request = new FindTimeZoneRequest(cpoint) { BingMapsKey = _ApiKey, IncludeDstRules = true }; var point_resources = GetResourcesFromRequest(point_tz_request); var r_point = (point_resources[0] as RESTTimeZone); var tz = (r_point.TimeZone as TimeZoneResponse); Console.WriteLine($"Time Zone: {r_point.TimeZone}"); PrintTZResource(tz); Console.ReadLine(); }
public async Task <TimeZoneInfo> GetTimeZone(double latitude, double longitude) { if (DestinationTimeZone == null) { var destRequest = new FindTimeZoneRequest(Address, DateTime.Now) { BingMapsKey = BMK }; var destResponse = await destRequest.Execute(); DestinationTimeZone = TimeZoneFromResponse(destResponse); } var request = new FindTimeZoneRequest(new Coordinate(latitude, longitude)) { BingMapsKey = BMK }; var response = await request.Execute(); return(TimeZoneFromResponse(response)); }