/// <summary>
        /// Obtains all the details of a specific place
        /// </summary>
        /// <param name="pPlaceId">Place id given by Google Maps API</param>
        /// <returns></returns>
        public dynamic PlaceDetails(string pPlaceId)
        {
            PlaceDetailsRequest request = new PlaceDetailsRequest();

            request.PlaceID = pPlaceId;

            var response = new PlaceDetailsService().GetResponse(request);

            dynamic place = new ExpandoObject();

            if (response.Status == ServiceResponseStatus.Ok)
            {
                PlaceDetailsResult result = response.Result;
                place.name      = result.Name;
                place.latitude  = result.Geometry.Location.Latitude;
                place.longitude = result.Geometry.Location.Longitude;
                place.address   = result.FormattedAddress;
                place.phone     = result.InternationalPhoneNumber;
                place.rating    = result.Rating;
                place.schedule  = GetOpeningHours(result);
                place.website   = result.Website;
                place.photo     = "";
                //place.photo = RequestPlacePhoto(result.Photos[0].PhotoReference);
                return(place);
            }
            else
            {
                return(null);
            }
        }
Exemple #2
0
        public MainPage()
        {
            this.InitializeComponent();

            availableRideTypes = new List <RideType>();

            geolocator = new Geolocator();
            geolocator.AllowFallbackToConsentlessPositions();
            geolocator.ReportInterval   = (uint)TimeSpan.FromSeconds(15).TotalSeconds;
            geolocator.PositionChanged += Geolocator_PositionChanged;

            driverList = new List <MapElement>();

            map.MapServiceToken          = Secrets.MapToken;
            map.BusinessLandmarksVisible = true;
            //map.LandmarksVisible = true;
            //map.PedestrianFeaturesVisible = true;
            //map.TrafficFlowVisible = true;
            //map.TransitFeaturesVisible = true;

            placesService       = new PlacesService();
            placeDetailsService = new PlaceDetailsService();
            addressToId         = new Dictionary <string, string>();
            reverseGeocode      = true;
            loaded = false;
        }
Exemple #3
0
        public void PlacesDetailsTest(string placeID, string placeName)
        {
            PlaceDetailsRequest request = new PlaceDetailsRequest()
            {
                PlaceID = placeID
            };
            var response = new PlaceDetailsService().GetResponse(request);

            Assert.AreEqual(ServiceResponseStatus.Ok, response.Status);
            Assert.IsNotNull(response.Result.URL);
            Assert.AreEqual(placeID, response.Result.PlaceID);
            Assert.AreEqual(placeName, response.Result.Name);
        }