Пример #1
0
        protected async Task CallMapDataPoints()
        {
            string url = getDirectionsUrl();

            var response = await VadodaraByFoot.ServiceLayer.ServiceClass.GetResponseFromWebService.GetResponse <VadodaraByFoot.ServiceLayer.ServiceClass.MapResponse.RootObject>(url);


            if (response != null)
            {
                //List<LatiLong> res = new List<LatiLong>();
                foreach (var Item in response.routes)
                {
                    foreach (var Item1 in Item.legs)
                    {
                        foreach (var Steps in Item1.steps)
                        {
                            CustomMap.RouteCoordinates.Add(new Xamarin.Forms.Maps.Position(Steps.start_location.lat, Steps.start_location.lng));

                            var res = DecodePolylinePoints(Steps.polyline.points);
                            foreach (var Values in res)
                            {
                                CustomMap.RouteCoordinates.Add(new Xamarin.Forms.Maps.Position(Values.lat, Values.lng));
                            }
                            CustomMap.RouteCoordinates.Add(new Xamarin.Forms.Maps.Position(Steps.end_location.lat, Steps.end_location.lng));
                        }
                    }
                }
            }
            MapDataObject = response;
            //await this.Navigation.PushAsync(new MapPage(response), true);
        }
        public RouteCoversPage(RootObjectWalkTourDetail rootobjdetailData, VadodaraByFoot.ServiceLayer.ServiceClass.MapResponse.RootObject responseMap, ImageSource tourPlaceUrl)
        {
            InitializeComponent();

            _tourPlaceURl      = tourPlaceUrl;
            _rootobjdetailData = rootobjdetailData;
            _responseMap       = responseMap;
            _routeCovers       = _rootobjdetailData.Walktourdetail.meta.tour_location;

            if (Device.OS == TargetPlatform.iOS)
            {
                MapBindpinsInMap(_responseMap);
            }
        }
        public void MapBindpinsInMap(VadodaraByFoot.ServiceLayer.ServiceClass.MapResponse.RootObject response)
        {
            for (int i = 0; i < _routeCovers.Count; i++)
            {
                var pin = new Pin();
                pin.Position = new Position(Convert.ToDouble(_routeCovers[i].location_latitude), Convert.ToDouble(_routeCovers[i].location_longitude));
                pin.Label    = (i + 1).ToString() + " " + _routeCovers[i].location_name;
                pin.Address  = "";
                pin.Type     = PinType.SavedPin;
                customMap.Pins.Add(pin);
            }

            customMap.MoveToRegion(MapSpan.FromCenterAndRadius(new Position(customMap.Pins[0].Position.Latitude, customMap.Pins[0].Position.Longitude), Xamarin.Forms.Maps.Distance.FromMiles(7.0)));
            customMap.IsShowingUser = true;
        }