コード例 #1
0
        // Event handlers
        public async void OnSelected(object sender, SelectedItemChangedEventArgs e)
        {
            var Workout = (MapPreparedData)e.SelectedItem;

            if (Workout == null)
            {
                return;
            }

            var PointsList = await managerMapPoints.GetSpecificItemsAsync(Workout.WorkoutId);

            if (PointsList != null && PointsList.Count > 1)
            {
                var list = new List <MapPointItem>(PointsList);
                List <MapPointItem> sortedList    = list.OrderBy(o => o.Order).ToList();
                List <Position>     convertedList = new List <Position>();

                foreach (MapPointItem item in sortedList)
                {
                    convertedList.Add(MapPointItem.ConvertToPosition(item));
                }

                await Navigation.PushAsync(new MapResultPage(convertedList, Workout));
            }
            else
            {
                await Navigation.PushAsync(new MapResultPage(Workout));
            }

            workoutList.SelectedItem = null;
        }
コード例 #2
0
        public async void OnAddPath(object sender, EventArgs e)
        {
            switch (Device.RuntimePlatform)
            {
            case Device.UWP:
                await DisplayAlert("Alert", "This function is not available on Windows", "OK");

                return;
                //break;
            }

            int a = 0;

            foreach (Plugin.Geolocator.Abstractions.Position value in resultRoad)
            {
                MapPointItem sendMapPoint = new MapPointItem()
                {
                    Order = a++, Latitude = value.Latitude, Longitude = value.Longitude, WorkoutItemId = sendWorkout.Id
                };
                sendMapPointList.Add(sendMapPoint);
                await mapManager.SaveItemAsync(sendMapPoint, false);
            }
            AddPath.IsEnabled = false;
        }