public void setDistanceFromUserLoactionAsTime(Location location, string path) { DistanceMatrixObject result = distanceFromUserLocation(location, path); int duration = result.Rows[0].Elements[0].Duration.Value; this.DurationToUserPlace = duration; }
/* * Pobiera jako parametr wspolrzedne urzytkownika korzystajacego z aplikacji oraz klucz API * ustawia obecna droge liczona w czasie oraz dystancie od wybranego parkingu "this", zwraca obiekt z API Google * * */ public DistanceMatrixObject distanceFromUserLocation(Location location, string path) { string origin = RequestFormatter.geometryLocationFormatter(location.lat, location.lng); string destination = RequestFormatter.geometryLocationFormatter(this.GpsLat, this.GpsLng); DistanceMatrixObject result = GoogleMapsClient.GetDistanceMatrixAsync(origin, destination, path).Result; this.DurationToUserPlace = result.Rows[0].Elements[0].Duration.Value; this.DistanceToUserPlace = result.Rows[0].Elements[0].Distance.Value; return(result); }
/* * Origin moze byc wartoscia geometryczna latitude oraz longitude oddzielonych przecinkiem "," lub nazwa, adresem * Destination moze byc wartoscia geometryczna latitude oraz longitude oddzielonych przecinkiem "," lub nazwa, adresem * Mozna rowniez podac wiele wartosci oddzielonych znakiem "|" * Funkcja zwraca odleglosc od punktu a do punktu b. */ public static async Task <DistanceMatrixObject> GetDistanceMatrixAsync(string origin, string destination, string key) { string path = getDistanceMatrixPath(origin, destination, key, "pl"); DistanceMatrixObject distanceMatrixObject = null; try { HttpResponseMessage response = await client.GetAsync(path); string result; if (response.IsSuccessStatusCode) { result = await response.Content.ReadAsStringAsync(); distanceMatrixObject = JsonConvert.DeserializeObject <DistanceMatrixObject>(result); } }catch (Exception ex) { Console.WriteLine("GetDistanceMatrixAsync in GoogleMapsClient Error" + ex.Message); } return(distanceMatrixObject); }