private void map_OnMapDrag() { Task.Run(() => { WebClient request = new WebClient(); ElevationRequest elevationRequest = new ElevationRequest() { Locations = new Location[] { new Location(map.Position.Lat, map.Position.Lng) }, }; try { ElevationResponse elevation = GoogleMaps.Elevation.Query(elevationRequest); if (elevation.Status == Status.OK) { foreach (Result result in elevation.Results) { SetText(result.Elevation); } } } catch (Exception ex) { } }); textBox1.Text = map.Position.Lat.ToString(); textBox2.Text = map.Position.Lng.ToString(); }
public void ElevationAsync_ReturnsCorrectElevation() { var request = new ElevationRequest { Locations = new[] { new Location(40.7141289, -73.9614074) } }; var result = GoogleMaps.Elevation.QueryAsync(request).Result; if (result.Status == Entities.Elevation.Response.Status.OVER_QUERY_LIMIT) Assert.Inconclusive("Cannot run test since you have exceeded your Google API query limit."); Assert.AreEqual(Entities.Elevation.Response.Status.OK, result.Status); Assert.AreEqual(14.782454490661619, result.Results.First().Elevation); }
static void Main(string[] args) { // Driving directions var drivingDirectionRequest = new DirectionsRequest { Origin = "NYC, 5th and 39", Destination = "Philladephia, Chesnut and Wallnut" }; DirectionsResponse drivingDirections = GoogleMaps.Directions.Query(drivingDirectionRequest); PrintDirections(drivingDirections); // Transit directions var transitDirectionRequest = new DirectionsRequest { Origin = "New York", Destination = "Queens", TravelMode = TravelMode.Transit, DepartureTime = DateTime.Now }; DirectionsResponse transitDirections = GoogleMaps.Directions.Query(transitDirectionRequest); PrintDirections(transitDirections); var dep_time = DateTime.Today .AddDays(1) .AddHours(13); var request = new DirectionsRequest { Origin = "T-centralen, Stockholm, Sverige", Destination = "Kungsträdgården, Stockholm, Sverige", TravelMode = TravelMode.Transit, DepartureTime = dep_time, Language = "sv" }; DirectionsResponse result = GoogleMaps.Directions.Query(request); PrintDirections(result); // Geocode //https://maps.googleapis.com/maps/api/geocode/json?address=Parque+Marechal+Mascarenhas+de+Morais&components=locality:Porto%20Aelgre|administrative_area:RS|country:BR var geocodeRequest = new GeocodingRequest { Address = "Parque Marechal Mascarenhas de Morais", Components = new GeocodingComponents() { Locality = "Porto Alegre", AdministrativeArea = "RS", Country = "BR" } }; GeocodingResponse geocode = GoogleMaps.Geocode.Query(geocodeRequest); Console.WriteLine(geocode); // Static maps API - get static map of with the path of the directions request var staticMapGenerator = new StaticMapsEngine(); //Path from previous directions request IEnumerable<Step> steps = drivingDirections.Routes.First().Legs.First().Steps; // All start locations IList<ILocationString> path = steps.Select(step => step.StartLocation).ToList<ILocationString>(); // also the end location of the last step path.Add(steps.Last().EndLocation); string url = staticMapGenerator.GenerateStaticMapURL(new StaticMapRequest(new Location(40.38742, -74.55366), 9, new ImageSize(800, 400)) { Pathes = new List<Path> { new Path { Style = new PathStyle { Color = "red" }, Locations = path }} }); Console.WriteLine("Map with path: " + url); // Async! (Elevation) var elevationRequest = new ElevationRequest { Locations = new[] { new Location(54, 78) }, }; var task = GoogleMaps.Elevation.QueryAsync(elevationRequest) .ContinueWith(t => Console.WriteLine("\n" + t.Result)); Console.Write("Asynchronous query sent, waiting for a reply.."); while (!task.IsCompleted) { Console.Write('.'); Thread.Sleep(1000); } Console.WriteLine("Finished! Press any key to exit..."); Console.ReadKey(); }
static void Main(string[] args) { // Driving directions var drivingDirectionRequest = new DirectionsRequest { Origin = "NYC, 5th and 39", Destination = "Philladephia, Chesnut and Wallnut" }; DirectionsResponse drivingDirections = GoogleMaps.Directions.Query(drivingDirectionRequest); PrintDirections(drivingDirections); // Transit directions var transitDirectionRequest = new DirectionsRequest { Origin = "New York", Destination = "Queens", TravelMode = TravelMode.Transit, DepartureTime = DateTime.Now }; DirectionsResponse transitDirections = GoogleMaps.Directions.Query(transitDirectionRequest); PrintDirections(transitDirections); // Geocode var geocodeRequest = new GeocodingRequest { Address = "new york city", }; GeocodingResponse geocode = GoogleMaps.Geocode.Query(geocodeRequest); Console.WriteLine(geocode); // Static maps API - get static map of with the path of the directions request var staticMapGenerator = new StaticMapsEngine(); //Path from previous directions request IEnumerable<Step> steps = drivingDirections.Routes.First().Legs.First().Steps; // All start locations IList<ILocationString> path = steps.Select(step => step.StartLocation).ToList<ILocationString>(); // also the end location of the last step path.Add(steps.Last().EndLocation); string url = staticMapGenerator.GenerateStaticMapURL(new StaticMapRequest(new Location(40.38742, -74.55366), 9, new ImageSize(800, 400)) { Pathes = new List<Path> { new Path { Style = new PathStyle { Color = "red" }, Locations = path }} }); Console.WriteLine("Map with path: " + url); // Async! (Elevation) var elevationRequest = new ElevationRequest { Locations = new[] { new Location(54, 78) }, }; var task = GoogleMaps.Elevation.QueryAsync(elevationRequest) .ContinueWith(t => Console.WriteLine("\n" + t.Result)); Console.Write("Asynchronous query sent, waiting for a reply.."); while (!task.IsCompleted) { Console.Write('.'); Thread.Sleep(1000); } Console.WriteLine("Finished! Press any key to exit..."); Console.ReadKey(); }
// Gets Elevation private string GetElevation(double latitude, double longitude) { try { var elevationRequest = new ElevationRequest { Locations = new[] { new Location(latitude, longitude) }, }; var task = GoogleMaps.Elevation.Query(elevationRequest); if (task.Results.Count() > 0) { return task.Results.First().Elevation.ToString(); } else { return "-1000"; } } catch (Exception ex) { return "-1000"; } }
public static ElevationResponse GetElevation(ElevationRequest request) { return MapsAPIEngine.GetElevation(request); }
public ElevationResponse GetElevation(ElevationRequest request) { return new ElevationEngine().GetElevation(request); }
private void map_OnMapDrag() { Task.Run(() => { var elevationRequest = new ElevationRequest() { Locations = new[] { new Location(map.Position.Lat, map.Position.Lng) }, }; try { ElevationResponse elevation = GoogleMaps.Elevation.Query(elevationRequest); if (elevation.Status == Status.OK) { foreach (Result result in elevation.Results) { SetText(result.Elevation); } } } catch (Exception) { // ignored } }); textBox1.Text = map.Position.Lat.ToString(CultureInfo.InvariantCulture); textBox2.Text = map.Position.Lng.ToString(CultureInfo.InvariantCulture); }