public async Task <WeatherObject.RootObject> GetJsonWeatherObjectByCoords(double lat, double lon) { string res = await client.GetStringAsync(new Uri("http://api.openweathermap.org/data/2.5/weather?lat=" + lat + "&lon=" + lon + "&units=metric&APPID=3118bd0d9c7e3dfd7535f6f99afec169")); WeatherObject.RootObject rootObject = JsonConvert.DeserializeObject <WeatherObject.RootObject>(res); return(rootObject); }
private async void GetLocationData(object obj, EventArgs e) { LoadIndicator.IsRunning = true; getLocation.IsEnabled = false; try { var locator = CrossGeolocator.Current; locator.DesiredAccuracy = 50; var localPos = await locator.GetPositionAsync(timeoutMilliseconds : 10000); // WeatherObject.RootObject localData = await ApiManager.ApiManagerInstance.GetJsonWeatherObjectByCity("auckland"); WeatherObject.RootObject localData = await ApiManager.ApiManagerInstance.GetJsonWeatherObjectByCoords(localPos.Latitude, localPos.Longitude); data.Text = $"You are currently at {localData.name}"; // Use googles service to determine time taken from fabrikam foods Position fabrikamPos = new Position(-36.831928, 174.795976); Position localGoogle = new Position(localPos.Latitude, localPos.Longitude); ConstructRoute(localGoogle, fabrikamPos, localData.name); } catch (Exception ex) { await DisplayAlert("Failure:", $"Unable to retrieve location location, please turn on your GPS", "OK"); } getLocation.IsEnabled = true; LoadIndicator.IsRunning = false; }
private async void GetLocationData(Object sender, EventArgs e) { LoadIndicator.IsRunning = true; reccomendButton.IsEnabled = false; try { var locator = CrossGeolocator.Current; locator.DesiredAccuracy = 50; var pos = await locator.GetPositionAsync(timeoutMilliseconds : 10000); data.Text = $"Latitude: {pos.Latitude}\nLongitude: {pos.Longitude}"; // Feed data into API to load reccomendations // WeatherObject.RootObject localData = await ApiManager.ApiManagerInstance.GetJsonWeatherObjectByCity("auckland"); WeatherObject.RootObject localData = await ApiManager.ApiManagerInstance.GetJsonWeatherObjectByCoords(pos.Latitude, pos.Longitude); data.Text += $"\nCurrent weather for {localData.name} is {localData.main.temp} degrees"; LoadItems(localData.weather[0].icon, localData.main.temp); } catch (Exception ex) { await DisplayAlert("Failure:", $"Unable to retrieve location location, please turn on your GPS", "OK"); } reccomendButton.IsEnabled = true; LoadIndicator.IsRunning = false; }