/// <summary>
 /// 
 /// </summary>
 /// <param name="googlePlacesModel"></param>
 public void setGooglePlacesError(GooglePlacesApi.GooglePlacesModel googlePlacesModel)
 {
     switch (googlePlacesModel.Status)
     {
         case "RADIUS_OUT_OF_RANGE":
             Errors.Add(
                 new RequestErrorModel(RequestErrorModel.RequestErrorType.LocationRequest, RequestErrorModel.RequestErrorMessage.RADIUS_OUT_OF_RANGE));
             break;
         case "UNSUCCESSFUL_STATUS_CODE":
             Errors.Add(new RequestErrorModel(RequestErrorModel.RequestErrorType.LocationRequest, RequestErrorModel.RequestErrorMessage.UNSUCCESSFUL_STATUS_CODE));
             break;
         case "ZERO_RESULTS":
             Errors.Add(new RequestErrorModel(RequestErrorModel.RequestErrorType.LocationRequest, RequestErrorModel.RequestErrorMessage.ZERO_RESULTS));
             break;
         case "OVER_QUERY_LIMIT":
             Errors.Add(new RequestErrorModel(RequestErrorModel.RequestErrorType.LocationRequest, RequestErrorModel.RequestErrorMessage.OVER_QUERY_LIMIT));
             break;
         case "REQUEST_DENIED":
             Errors.Add(new RequestErrorModel(RequestErrorModel.RequestErrorType.LocationRequest, RequestErrorModel.RequestErrorMessage.REQUEST_DENIED));
             break;
         case "INVALID_REQUEST":
             Errors.Add(new RequestErrorModel(RequestErrorModel.RequestErrorType.LocationRequest, RequestErrorModel.RequestErrorMessage.INVALID_REQUEST));
             break;
         case "OK":
             break;
         default:
             Errors.Add(new RequestErrorModel(RequestErrorModel.RequestErrorType.LocationRequest, RequestErrorModel.RequestErrorMessage.UNKNOWN));
             SafeToContinue = false;
             break;
     }
 }
示例#2
0
        public async Task <List <POIWebModel> > Get(double lat, double lon, double radiusInMeters, string keyword = "")
        {
            GooglePlacesApi api  = new GooglePlacesApi();
            var             list = await api.Search(new Location(lat, lon), radiusInMeters, keyword);

            return(list);
        }
示例#3
0
        public GooglePlacesApiTest()
        {
            IConfiguration config = new ConfigurationBuilder()
                                    .SetBasePath(Path.Combine(Directory.GetCurrentDirectory()))
                                    .AddJsonFile("appsettings.json", true, true)
                                    .Build();

            var apiKey = config["GoogleApiKey"];

            _googlePlacesApi    = new GooglePlacesApi(apiKey);
            _googleGeocodingApi = new GoogleGeocodingApi(apiKey);

            _client = new HttpClient {
                MaxResponseContentBufferSize = MaxResponseContentBufferSize
            };
        }
        private void SearchCallback(GooglePlacesApi.PlacesList placesList)
        {
            RunOnUiThread(() =>
                              {
                                  // ToDo: Check Status and handle non-OK

                                  _placeResults = placesList.results;
                                  _nextPageToken = placesList.next_page_token;
                                  _loadMoreButton.Visibility = String.IsNullOrEmpty(_nextPageToken) ? ViewStates.Gone : ViewStates.Visible;

                                  _placesListView.Adapter = new PlacesListAdapter(this, _placeResults);
                                  _placesListView.ItemClick += PlacesListViewItemClick;
                                  _loading.Hide();
                              });
        }
        private void FetchMoreCallback(GooglePlacesApi.PlacesList placesList)
        {
            RunOnUiThread(() =>
            {
                // ToDo: Check Status and handle non-OK

                _placeResults.AddRange(placesList.results);
                _nextPageToken = placesList.next_page_token;
                _loadMoreButton.Visibility = String.IsNullOrEmpty(_nextPageToken) ? ViewStates.Invisible : ViewStates.Visible;

                // Get ListView current position - used to maintain scroll position
                int currentPosition = _placesListView.FirstVisiblePosition;

                _placesListView.Adapter = new PlacesListAdapter(this, _placeResults);
                _placesListView.ItemClick += PlacesListViewItemClick;
                _placesListView.SetSelectionFromTop(currentPosition + 1, 0);

                _loading.Hide();
            });
        }