Coder Social home page Coder Social logo

vivet / googleapi Goto Github PK

View Code? Open in Web Editor NEW
525.0 34.0 154.0 2.92 MB

C# .NET Core Google Api (Maps, Places, Roads, Search, Translate). Supports all endpoints and requests / responses.

License: MIT License

C# 100.00%
maps places search coordinate location timezone translate distancematrix directions geocoding

googleapi's Introduction

Google Api

Build status NuGet NuGet

Seamless Google Api integrations.
Google Maps, Places, Roads, Search and Translate.

Feel free to contribute, throw questions and report issues. I usually respond fast (24-48 hours).
Do you need support for an additional .Net framework?, let me know.

New: Version 5.0.0 with Routes Api (directions and matrix), Ariel View Api and Address Validation Api.


Using the Library

The library may be consumed, either by using the individual facede implementations or by depdendency injecting the individual api's.
Each api implementation consists of a request and a response. The request has properties reflecting the parameters supported, and the response represents the object model for the returned json.

A few other noteworthy members.

var uri = request.GetUri(); // Gets the full request uri, including query parameters.
var params = request.GetQUeryStringParameters(); // Gets a list of all the added parameters.
response.RawJson // The raw json returned by Google.
response.RawQueryString // The querystring sent to Google when invoking the request.

Facade

Each api has a generic facade operation to execute the request and return the response.
The example below, simply populates a request, invokes the facade operation, and receives the response in return.

TRequest request = new TRequest();
TResponse response = await {Api}.[{SubGroup}].{Action}.QueryAsync<TRequest, TResponse>(request);

See below for a full list of supported Api's and actions.

Dependency Injection

If injecting the api's as dependencies is preffered register the services during startup, as shown below.

services
    .AddGoogleApiClients();

Then, inject the individual Api's in constructors as needed

public class MyClass
{
    private Api api;
    
    public MyClass(Api api)
    {
        this.api = api
    }
}

See below for a full list of supported Api's and actions.

Proxy

If a WebProxy is required set the static property HttpClientFactory.Proxy before registrering the GoogleApi dependencies or using the Facade.


Supported Api's

The following api's are supported.

Google Maps
  • Directions (GoogleMaps.Directions)
  • Distance Matrix (GoogleMaps.DistanceMatrix)
  • Elevation (GoogleMaps.Elevation)
  • Geocode
    • Place (GoogleMaps.Geocode.PlaceGeocode)
    • Address (GoogleMaps.Geocode.AddressGeocode)
    • Location (reverse) (GoogleMaps.Geocode.LocationGeocode)
    • Plus Code (GoogleMaps.Geocode.PlusCodeGeocode)
  • Geolocation (GoogleMaps.Geolocation)
  • Roads
    • Nearest Roads (GoogleMaps.Roads.NearestRoads)
    • Snap To Roads (GoogleMaps.Roads.SnapToRoad)
    • Speed Limits (GoogleMaps.Roads.SpeedLimits)
  • Time Zone
  • Street View
  • Static Maps
  • Routes
    • RouteDirections (GoogleMaps.Routes.Directions)
    • RouteMatrix (GoogleMaps.Routes.Matrix)
  • Address Validation (GoogleMaps.AddressValidation)
  • Aerial View (beta)
    • Directions (GoogleMaps.AerialView.GetVideo)
    • Render Video (GoogleMaps.AerialView.RenderVideo)
Google Places
  • Place Search
    • Find (GooglePlaces.Search.FindSearch)
    • Near By (GooglePlaces.Search.NearBySearch)
    • Text (GooglePlaces.Search.TextSearch)
  • Place Details (GooglePlaces.Details)
  • Place Photos (GooglePlaces.Photos)
  • Place Autocomplete (GooglePlaces.AutoComplete)
  • Query Autocomplete (GooglePlaces.QueryAutoComplete)
Google Search
  • Web (GoogleSearch.WebSearch)
  • Image (GoogleSearch.ImageSearch)
  • Video
    • Channels (GoogleSearch.VideoSearch.Channels)
    • Playlists (GoogleSearch.VideoSearch.Playlists)
    • Vidoes (GoogleSearch.VideoSearch.Vidoes)
Google Translate
  • Detect (GoogleTranslate.Detect)
  • Languages (GoogleTranslate.Languages)
  • Translate (GoogleTranslate.Translate)
Google Functions
  • MergePolyLine
  • EncodePolyLine
  • DecodePolyLine

Running Test Suite

Running the test suite is simple.

The test project stores settings related to your Google subscription (free or paid) in application.default.json.
Most importantly, the ApiKey, used to identify the Google subscription.

{ 
  "ApiKey": "",
  "SearchEngineId": "",
}

More information about generating a key can be found here: https://console.developers.google.com/


googleapi's People

Contributors

antmeehan avatar bobbyangers avatar bottlecapdave avatar cainejette avatar cainejette-mojo avatar dawidmostert avatar dlboutwe avatar ewhoambra avatar jabez007 avatar jgoyvaerts avatar kadirgedik avatar mcsym28 avatar meriturva avatar mfeingol avatar miguelcrpinto-dept avatar ninjacarr avatar piofu avatar prologh avatar rangers-globecar avatar thespy avatar timaxapa avatar tmpreston avatar vineus avatar vivet avatar wormerr avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

googleapi's Issues

Not compatible with .NET 4.5

Hey,

I've tried to add your NuGet package to one of my solutions:

Could not install package 'GoogleApi 2.0.7'. You are trying to install this package into a project that targets '.NETFramework,Version=v4.5', but the package does not contain any assembly references or content files that are compatible with that framework. For more information, contact the package author.

Request: Documentation

Can you please send me some documentation on how to use your API or a website that has any information?

Thank you.

Search Distance Matrix API by postcode/place name

Hi,

We're looking to use the Distance Matrix API and come across your wrapper (which looks really useful, thanks!).

The DistanceMatrixRequest has the Origins and Destinations properties that both take an IEnumerable<Location>. The Location class currently has one constructor that takes a lat and long. Would it be possible to take a second constructor where we can pass an address string instead? The documentation indicates that this is an acceptable request.

If you're happy for the change to be implemented I could clone and PR it?

Thanks,

Lee & @Dingwall

Can't use RankBy.Distance

If you try to use RankBy.Distance when making a nearby places search, you are told that the radius must be specified. This goes against the Google documentation at https://developers.google.com/places/web-service/search, which states that radius should not be specified if the RankBy is changed. If you do set a radius, you get an InvalidRequest returned, presumably because the library is specifying both parameters.

Unable to use in Visual Studio 2012

I am unable to use the nuget package for this API because when I try to run, it is unable to get the correct version of Newtonsoft.Json because VS 2012 can only go up to 9.6. Unforunately I can't get a different version of VS because of my work, we are upgrading next year to 2017. Below is the exception:

"An unhandled exception of type 'System.IO.FileLoadException' occurred in GoogleApi.dll

Additional information: Could not load file or assembly 'Newtonsoft.Json, Version=10.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)"

I am unable to do anything until I update to version 10.0 or higher for that nuget package. I was able to load it on a newer version of VS, but as I said that isn't a solution because of everyone else on my team using the older version of VS.

Place types

Hi, I'm using your component for extensive GeoCoding, and found that some of the places listed at https://developers.google.com/places/supported_types are not available in GoogleApi.Entities.Common.Enums.LocationType, and it gives an exception when trying to parse the whole response, so the response.Results are always null.

Google Place - QueryAutoComplete - Language not working

Hi,
For some reason Language attribute is not working on QueryAutoComplete.

e.g. Language = "pt-BR" returns me "State of Sรฃo Paulo" instead of "Sรฃo Paulo" or "Estado de Sรฃo Paulo"

I've tested Language on Google Place - Autocomplete and it works well.

Sorry for my english, and thanks for this library.

Wrong key used in HttpEngine.SignUri

var privateKey = this.FromBase64UrlString(request.Key);

But request.Key is the API Key, not the private crypto key for Client ID

You will get an System.FormatException.

Restriction type doesn't work for cities

Hi,

 var request = new PlacesAutoCompleteRequest
            {
                Key = _key,
                Input = filter,
                Sensor = false,
                Language = "en",
                Types = new List<RestrictPlaceType>() { RestrictPlaceType.CITIES }
            };

            var response = await GooglePlaces.AutoComplete.QueryAsync(request);

This code doesn't work, but it works perfectly if I replace RestrictPlaceType.CITIES by RestrictPlaceType.ESTABLISHMENT

SnaptoRoads - A path with 58 locations only returns 5 snappedPoints back

Hi,

I have that map with 58 markers.
map_with_pins

I put that 58 locations as path to the SnapToRoadsRequest instance but I only get 5 SnappedPoints back.

Any idea?

I put the JSON response (my data where I put the snappedPoints inside) as gist

Here my code:

public sealed class GoogleMapsApiHelper
    {
        public static string ApiKey { get; set; }

        public static IEnumerable<TruckFahrerGeoDataWithSnapToRoad> GetSnapToRoadPoints(TruckFahrerGeoData[] truckFahrerGeoData)
        {
            //TODO make method ASYNC  !!!

            // TODO That current only worksd with a max. of 100 waypoints !. Adjust when prototyp is working.
            List<TruckFahrerGeoDataWithSnapToRoad> truckFahrerGeoDataWithSnapToRoadPoints = new List<TruckFahrerGeoDataWithSnapToRoad>();

            int currentIndex = 0;
            foreach (TruckFahrerGeoData fahrerGeoData in truckFahrerGeoData)
            {
                truckFahrerGeoDataWithSnapToRoadPoints.Add(new TruckFahrerGeoDataWithSnapToRoad
                {
                    Id = fahrerGeoData.Id,
                    FahrerId = fahrerGeoData.FahrerId,
                    Imei = fahrerGeoData.Imei,
                    Latitude = fahrerGeoData.Latitude,
                    Longitude = fahrerGeoData.Longitude,
                    TimeStamp = fahrerGeoData.TimeStamp,
                    SnappedPoint = default(SnappedPoint),
                    Name = fahrerGeoData.Name,
                    TelemetryData = fahrerGeoData.TelemetryData,
                    SnappedPointIndex = currentIndex
                });

                currentIndex++;
            }
            
            Location[] requestPath = truckFahrerGeoDataWithSnapToRoadPoints
                .Select(geo => new GoogleApi.Entities.Common.Location((double) geo.Latitude, (double) geo.Longitude))
                .ToArray();

            /*
             * TODO
             * 
             * 1. get the lat/lon points out of the truckFahrerGeoData array as an array of Location instances
             * 2. build the SnapToRoadsRequest with each of the lat/lon points
             * 3. pass the request to the SnapToRoad.Query method and invoke
             * 4. get the result.SnappedPoints?.ToArray();
             * 5. add each SnappedPoint by its INDEX to the truckFahrerGeoDataWithSnapToRoadPoints.IndexOf(INDEX)
             * 
             * */


            SnapToRoadsRequest request = new SnapToRoadsRequest
            {
                Key = GoogleMapsApiHelper.ApiKey,
                Path = requestPath
            };


            SnapToRoadsResponse response = GoogleMaps.SnapToRoad.Query(request);
            
            if (response.SnappedPoints == null)
                return truckFahrerGeoDataWithSnapToRoadPoints;

            SnappedPoint[] snappedPoints = response.SnappedPoints.ToArray();
            foreach (SnappedPoint snappedPoint in snappedPoints)
            {
                TruckFahrerGeoDataWithSnapToRoad truckFahrerGeoDataWithSnapToRoad =
                    truckFahrerGeoDataWithSnapToRoadPoints.FirstOrDefault(tfg => tfg.SnappedPointIndex == snappedPoint.OriginalIndex);

                if (truckFahrerGeoDataWithSnapToRoad != null)
                {
                    truckFahrerGeoDataWithSnapToRoad.SnappedPoint = snappedPoint;
                }
            }
            return truckFahrerGeoDataWithSnapToRoadPoints;
        }
    }

Thanks in advance.

best

Eric

Lookup with PlaceID

EDIT: Sorry, I just found the Place Details API. Thanks ! :)

Hello,

Is there a way to get an address with the placeID ? I can't find the method to find an address by passing its placeID.

Could please help me ?

Thank you,
Christophe.

Nuget package cannot install on portable class libraries

This project is very useful for xamarin mobile applications, but can not install this in portable classes libraries, you can install this on Android Project and iOS project but not in the portable class library. The .dll is not added.

Advanced Web / Image Search

Implement easier access to advanced features of Google Search.
For example:

  • Expression implementation for Query building.
  • Additional facade methods for searching specific topics like Books, Shopping, Blogs, Code, Videos, etc. (possible for JavaScript search endpoints, check project (https://googledotnet.codeplex.com/)
  • other...

Place type not found - Place Text Search

I received the below error when running a GooglePlaces TextSearch

image

When I took the raw query url and ran it I received the below json result and the place type for "Kippel Islands" returned "archipelago" as a place type. I did not see this place type listed in the Google Places documentation here https://developers.google.com/places/supported_types#table1 nor did I see it in the source code under PlaceLocationType.cs or in SearchPlaceType.cs. Since this is not in the Google list I am not sure if this is a bug for you or for Google but I did want to bring this to your attention.

{
   "html_attributions" : [],
   "results" : [
      {
         "formatted_address" : "422 Scenic Hwy, Rosslyn QLD 4703, Australia",
         "geometry" : {
            "location" : {
               "lat" : -23.170764,
               "lng" : 150.789462
            },
            "viewport" : {
               "northeast" : {
                  "lat" : -23.1692183197085,
                  "lng" : 150.7908517802915
               },
               "southwest" : {
                  "lat" : -23.1719162802915,
                  "lng" : 150.7881538197085
               }
            }
         },
         "icon" : "https://maps.gstatic.com/mapfiles/place_api/icons/generic_business-71.png",
         "id" : "56e230c8281a5f73fc7af328bd172276e6c3a41e",
         "name" : "Great Keppel Island Security Carpark",
         "place_id" : "ChIJT75mX7jowmsREWtTFKft68I",
         "reference" : "CmRSAAAAzGEoKySUuVbrDa6RF7_lIMKbV7idMz_wx6G16Z8_BuzMcS3QzrBv7Z9oVVZOrGdb0TTZ2kWts7rGRpFSg_EqqveVpKO9jRjYbMdXKcZ9d06Cxakw0k31eTJajfMB5FSMEhAJAwcTujtyD9wYpbD-yi6XGhSWdT8exuLrR-_mrIR63wLHS5gB4w",
         "types" : [ "parking", "point_of_interest", "establishment" ]
      },
      {
         "formatted_address" : "Kippel Islands, The Keppels QLD 4700, Australia",
         "geometry" : {
            "location" : {
               "lat" : -23.1238609,
               "lng" : 150.9773282
            },
            "viewport" : {
               "northeast" : {
                  "lat" : -23.0255836,
                  "lng" : 151.0937206
               },
               "southwest" : {
                  "lat" : -23.2221382,
                  "lng" : 150.8609358
               }
            }
         },
         "icon" : "https://maps.gstatic.com/mapfiles/place_api/icons/geocode-71.png",
         "id" : "f00c5c3f175778691a4658a083618b2e548b0e51",
         "name" : "Kippel Islands",
         "place_id" : "ChIJE6LOUCiVwmsRdE8rZVhsaTE",
         "reference" : "CmRbAAAAJpdXVffaZIiVW4F2qysJnzuxpG9G0Ro8mNHuYJzFLzthZ3qw7SdNgEHbtj4AuDHHW0R4IupCPmzKj3kM3yk5nK65y1mgWnhW-05VQ1CXp1sHndia4yVwwfjY3ow8B1IqEhDCYYew_iC0RmcpESG4lrRbGhRWht9fmNHoALfCwOrPax5Ha0fa2A",
         "types" : [ "archipelago", "natural_feature", "establishment" ]
      },
      {
         "formatted_address" : "The Esplanade, Great Keppel Island QLD 4703, Australia",
         "geometry" : {
            "location" : {
               "lat" : -23.17872599999999,
               "lng" : 150.93353
            },
            "viewport" : {
               "northeast" : {
                  "lat" : -23.17737701970849,
                  "lng" : 150.9348789802915
               },
               "southwest" : {
                  "lat" : -23.1800749802915,
                  "lng" : 150.9321810197085
               }
            }
         },
         "icon" : "https://maps.gstatic.com/mapfiles/place_api/icons/lodging-71.png",
         "id" : "0adfede43599267d7df63d076231a5e87244135b",
         "name" : "Great Keppel Island Hideaway",
         "opening_hours" : {
            "open_now" : false,
            "weekday_text" : []
         },
         "photos" : [
            {
               "height" : 657,
               "html_attributions" : [
                  "\u003ca href=\"https://maps.google.com/maps/contrib/111980555853980672916/photos\"\u003eGreat Keppel Island Hideaway\u003c/a\u003e"
               ],
               "photo_reference" : "CmRaAAAAVuXvoXEoDK2gLnG5Bnigc5z0s3IG4_l5_lMSxDvfex8oEeLU73nx-aHFgljBZj68LKFqzipgYp4GgavJEVCtyFDHZQm6nvmJT0S7hCwkGf1W7qmXmJBP72RKUkC1sHNDEhDrKx-tjd85K8rEzKHyeQbkGhTLvRQQKs5HKgQvwvhYAOtKemvW6g",
               "width" : 1027
            }
         ],
         "place_id" : "ChIJGTmmhiLrwmsRv8goXhzLNPw",
         "rating" : 4.2,
         "reference" : "CmRSAAAA1pDRHVwNR7pugGd2XpvUdqNVrq8AwHeiaf_k-rldmyQeC9HYSlethPTFEZqT-e5RUbRPAYKpFATQM48wTD41XuitZdJqhkqdQnW3VKGhcPU5hLIK59cIwaXPJDJ5Q4ZcEhA5n9dyGCacG1gQN-c72su5GhTWm0gRukcAQKfHGU8MCLtt2o5qpA",
         "types" : [
            "bar",
            "lodging",
            "restaurant",
            "food",
            "point_of_interest",
            "establishment"
         ]
      },

Distance Matrix request hasn't traffic_model parameter

traffic_model (defaults to best_guess) โ€” Specifies the assumptions to use when calculating time in traffic. This setting affects the value returned in the duration_in_traffic field in the response, which contains the predicted time in traffic based on historical averages. The traffic_model parameter may only be specified for requests where the travel mode is driving, and where the request includes a departure_time, and only if the request includes an API key or a Google Maps APIs Premium Plan client ID. The available values for this parameter are:
best_guess (default) indicates that the returned duration_in_traffic should be the best estimate of travel time given what is known about both historical traffic conditions and live traffic. Live traffic becomes more important the closer the departure_time is to now.
pessimistic indicates that the returned duration_in_traffic should be longer than the actual travel time on most days, though occasional days with particularly bad traffic conditions may exceed this value.
optimistic indicates that the returned duration_in_traffic should be shorter than the actual travel time on most days, though occasional days with particularly good traffic conditions may be faster than this value.

This really should become portable :)

Hi there

I just looked at the code, and you've obviously put a lot of work into it. Please consider making this portable (.net standard). You seem to be maintaining it actively (kudos for that!), but in its current state, it's obsolete for many projects, I'm afraid...

Thanks,
Philipp

'System.MissingMethodException'

Hi there, I am getting this issue
'GoogleApi.Engine.FacadeEngine`2<GoogleApi.Entities.Maps.DistanceMatrix.Request.DistanceMatrixRequest,GoogleApi.Entities.Maps.DistanceMatrix.Response.DistanceMatrixResponse> GoogleApi.GoogleMaps.get_DistanceMatrix()'.

is this a bug or did I do something wrong?

Places auto complete bug

Hello,

I tried auto complete for 'Places' and it works great. The issue is, when I try to filter by 'Cities', google returns:

predictions []
status "INVALID_REQUEST"

I checked the exception I got, and the request url is like this:

https://maps.googleapis.com/maps/api/place/autocomplete/json?key=[MY_API_KEY]&sensor=false&input=Nic&language=en&types=cities

If I try to run it on my browser like this:

https://maps.googleapis.com/maps/api/place/autocomplete/json?key=[MY_API_KEY]&sensor=false&input=Nic&language=en&types=(cities)
it works fine.

For more info please check how I am constructing my query in C#:

var request = new PlacesAutoCompleteRequest
            {
                Key = apiKey,
                Input = input,
                Types = new List<RestrictPlaceType>() { RestrictPlaceType.Cities }
            };

And here is some info in the exception
bug
Thanks.

PlaceLocationType : Embassy missing

Hello,
I wanted to do a placesTextSearchRequest with the type set to embassy, but it seems like it is missing.
(It is available in the types listed on google maps documentation).

embassy
image

Setup Travis build, test and publish

Configure Travis.yml to properly build and run test suite using environmental variables for Google parameters. Finally, publish new Nuget package automatically.

JsonSerializationException : Error converting value "postal_code_prefix" to type 'GoogleApi.Entities.Common.Enums.LocationType'

Really useful library, thanks for your work on it. I've just encountered this issue when searching for a place via a string, and then getting the full place details:

await GooglePlaces.Details.QueryAsync(request);
The PlaceId I am retrieving is: EiQxMjkgVGF1bnRvbiBSZCwgTGVlLCBMb25kb24gU0UxMiwgVUs

The exception stacktrace I get is:

Newtonsoft.Json.JsonSerializationException : Error converting value "postal_code_prefix" to type 'GoogleApi.Entities.Common.Enums.LocationType'. Path 'result.address_components[7].types[0]', line 43, position 44.
  ----> System.ArgumentException : Requested value 'postal_code_prefix' was not found.
   at Newtonsoft.Json.Converters.StringEnumConverter.ReadJson(JsonReader reader, Type objectType, Object existingValue, JsonSerializer serializer)
   at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.DeserializeConvertable(JsonConverter converter, JsonReader reader, Type objectType, Object existingValue)
   at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.PopulateList(IList list, JsonReader reader, JsonArrayContract contract, JsonProperty containerProperty, String id)
   at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateList(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, Object existingValue, String id)

Google API Key

I dont see a method to specificy, either globally or individually the google API key to use for each service.

Thanks.

Google Places API - Filter by multiple countries

It looks to me that the current implementation doesn't allow to filter by multiple countries, since Dictionary<> doesn't allow to have non-unique keys. I wonder if I'm missing something?

components โ€” A grouping of places to which you would like to restrict your results. Currently, you can use components to filter by up to 5 countries. Countries must be passed as a two character, ISO 3166-1 Alpha-2 compatible country code. For example: components=country:fr would restrict your results to places within France. Multiple countries must be passed as multiple country:XX filters, with the pipe character (|) as a separator. For example: components=country:us|country:pr|country:vi|country:gu|country:mp would restrict your results to places within the United States and its unincorporated organized territories.

parameters.Add("components", string.Join("|", this.Components.Select(x => $"{x.Key.ToString().ToLower()}:{x.Value}")));

Improve test suite

  • DONE: Implement 'Request.GetUri()' tests for all requests
  • DONE: Implement web / image search request tests.
  • DONE: Implement Request.IsSsl / IsGzip setter tests for all requests.
  • DONE: Tests for JsonConverter implementations.
  • DONE: Evaluate need for additional tests, and add inconclusive placeholders.

Cannot use the channel parameter

I need to pass the channel parameter to all Google Places API requests, but I cannot find it in PlacesAutoCompleteRequest or PlacesDetailsRequest. How can I do it?

Regards,
Stefan

Include all fields in PlaceSearchText

Hi vivet, first of all, great job!

I am just wondering, why in place text search there are only 3 fields in response

result1

When i manually do this request in e.g. postman i have also other informations about place

result2

GeocodingResponse not contained in new assembly

Hi there

Love your work. Really great API. Hey I've just upgraded to the latest nuget package and have a whole bunch of errors related to GeocodingResponse not being contained in the assembly. Is there something I'm doing wrong, or is this a legit bug?

Cheers
Ren.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.