chadly / Geocoding.net

C# GeoCoding / Address Validation API
MIT License
444 stars 157 forks source link

Geocoding.Google question: Which type (from types array) is returned in GoogleAddress.Type? #121

Open johnnyoshika opened 5 years ago

johnnyoshika commented 5 years ago

Google returns types as an array:

{
   "results" : [
      {
         ...
         "types" : [ "locality", "political" ]
      }
   ],
   "status" : "OK"
}

XML version is similar:

<GeocodeResponse>
 <status>OK</status>
 <result>
  <type>locality</type>
  <type>political</type>
  ...
 </result>
</GeocodeResponse>

...but GoogleAddress.Type only supports one type: https://github.com/chadly/Geocoding.net/blob/master/src/Geocoding.Google/GoogleAddress.cs#L16-L19

Which type is returned?

I tried to read through the source code but it's a bit ambiguous: https://github.com/chadly/Geocoding.net/blob/master/src/Geocoding.Google/GoogleGeocoder.cs#L336-L374

Thanks!

johnnyoshika commented 5 years ago

It seems like the first type is selected.

Example:

Result:

<?xml version="1.0" encoding="UTF-8"?>
<GeocodeResponse>
 <status>OK</status>
 <result>
  <type>establishment</type>
  <type>hospital</type>
  <type>point_of_interest</type>
  <formatted_address>1952 Bay St, Victoria, BC V8R 1J8, Canada</formatted_address>
...

image

Is there any way to access the others?