コード例 #1
0
 public void LoadRoutes(OverviewPolyline overviewPolyline)
 {
     foreach (LatLng line in DirectionsMethods.DecodePolyline(overviewPolyline.points))
     {
         Lines.Add(line);
     }
     RoutesListUpdated?.Invoke(this, EventArgs.Empty);
 }
コード例 #2
0
        public async void SizedButton_Clicked(object sender, EventArgs e)
        {
            //JsonValue value = JsonValue.Parse(@"{ ""name"":""Prince Charming"", ...");
            //JsonObject result = value as JsonObject;
            Location startLocation = await Geolocation.GetLastKnownLocationAsync();

            NetworkAccess current = Connectivity.NetworkAccess;

            if (current == NetworkAccess.Internet)
            {
                double            shortestDistance = 0;
                Models.Directions directions       = new Models.Directions();
                Location          neareatPark      = new Location();
                foreach (Pin pin in MMap.Pins)
                {
                    Location          endLocation    = new Location(pin.Position.Latitude, pin.Position.Longitude);
                    Models.Directions tempDirections = await DirectionsMethods.GetDirectionsInfo(startLocation.Latitude,
                                                                                                 endLocation.Latitude, startLocation.Longitude, endLocation.Longitude);

                    if (tempDirections != null)
                    {
                        double tempDistance = DirectionsMethods.GetDistance(tempDirections);
                        if (shortestDistance == 0 || shortestDistance > tempDistance)
                        {
                            neareatPark      = endLocation;
                            shortestDistance = tempDistance;
                            directions       = tempDirections;
                        }
                    }
                }

                //map.MoveToRegion(MapSpan.FromCenterAndRadius(new Position(neareatPark.Latitude, neareatPark.Longitude),
                //                                Distance.FromKilometers(.1)));
                //foreach (Models.Route route in directions.Routes)
                //{
                //    foreach (Models.Leg leg in route.legs)
                //    {
                //        map.LoadRoutes(leg.steps);
                //    }
                //}
                foreach (Models.Route route in directions.Routes)
                {
                    MMap.LoadRoutes(route.overview_polyline);
                }
            }
        }