Exemple #1
0
        /// <summary>
        /// Adds a line to the map
        /// </summary>
        /// <param name="line">The line to add</param>
        private void AddLine(TKPolyline line)
        {
            line.PropertyChanged += OnLinePropertyChanged;

            var polyline = new MapPolyline();

            if (line.Color != Color.Default)
            {
                polyline.StrokeColor = line.Color.ToUWPColor();
            }
            if (line.LineWidth > 0)
            {
                polyline.StrokeThickness = line.LineWidth;
            }

            if (line.LineCoordinates != null)
            {
                polyline.Path = new Geopath(line.LineCoordinates.Select(i => new BasicGeoposition
                {
                    Latitude  = i.Latitude,
                    Longitude = i.Longitude
                }));
            }

            Map.MapElements.Add(polyline);
            _polylines.Add(line, polyline);
        }
Exemple #2
0
        void CreateLine(GenerateResponseFP fp)
        {
            var coordinates = new List <TK.CustomMap.Position>();

            Routes.Clear();

            foreach (var item in fp.Positions)
            {
                coordinates.Add(new TK.CustomMap.Position(item.Latitude, item.Longitude));
            }

            var line = new TKPolyline
            {
                Color           = Color.Red,
                LineWidth       = 2f,
                LineCoordinates = coordinates
            };

            Routes.Add(line);
        }
Exemple #3
0
        /// <summary>
        /// Adds a route to the map
        /// </summary>
        /// <param name="line">The route to add</param>
        private void AddLine(TKPolyline line)
        {
            line.PropertyChanged += OnLinePropertyChanged;

            var polylineOptions = new PolylineOptions();

            if (line.Color != Color.Default)
            {
                polylineOptions.InvokeColor(line.Color.ToAndroid().ToArgb());
            }
            if (line.LineWidth > 0)
            {
                polylineOptions.InvokeWidth(line.LineWidth);
            }

            if (line.LineCoordinates != null)
            {
                polylineOptions.Add(line.LineCoordinates.Select(i => i.ToLatLng()).ToArray());
            }

            this._polylines.Add(line, this._googleMap.AddPolyline(polylineOptions));
        }
Exemple #4
0
        /// <summary>
        /// Getroute/Draw route between two given position.
        /// </summary>
        public async void Getroute()
        {
            GmsDirectionResult Routeresult = await GmsDirection.
                                             Instance.CalculateRoute(new Position(17.4474, 78.3762),
                                                                     new Position(17.4375, 78.4483), GmsDirectionTravelMode.Driving, null);

            var routes = Routeresult.Routes.FirstOrDefault();

            Lines = new ObservableCollection <TKPolyline>();
            Pins  = new ObservableCollection <TKCustomMapPin>();
            IEnumerable <Position> pos = routes.Polyline.Positions;

            var line = new TKPolyline
            {
                Color           = Color.Green,
                LineWidth       = 10f,
                LineCoordinates = pos.ToList()
            };

            Pins.Add(new TKCustomMapPin
            {
                //Route = route,
                //IsSource = true,
                IsDraggable     = true,
                Position        = new Position(17.4474, 78.3762),
                ShowCallout     = true,
                DefaultPinColor = Color.Green
            });
            Pins.Add(new TKCustomMapPin
            {
                //Route = route,
                //IsSource = false,
                IsDraggable     = true,
                Position        = new Position(17.4375, 78.4483),
                ShowCallout     = true,
                DefaultPinColor = Color.Red
            });

            Lines.Add(line);



            //var route = new TKRoute
            //{
            //    TravelMode = TKRouteTravelMode.Driving,
            //    Source = new Position(17.4474, 78.3762),
            //    Destination = new Position(17.4375,78.4483),
            //    Color = Color.Red,
            //    LineWidth = 5
            //};
            //Routes = new ObservableCollection<TKRoute>();
            //Pins = new ObservableCollection<TKCustomMapPin>();
            //Pins.Add(new RoutePin
            //{
            //    Route = route,
            //    IsSource = true,
            //    IsDraggable = true,
            //    Position = new Position(17.4474, 78.3762),
            //    ShowCallout = true,
            //    DefaultPinColor = Color.Green
            //});
            //Pins.Add(new RoutePin
            //{
            //    Route = route,
            //    IsSource = false,
            //    IsDraggable = true,
            //    Position = new Position(17.4375, 78.4483),
            //    ShowCallout = true,
            //    DefaultPinColor = Color.Red
            //});

            //Routes.Add(route);
        }