geocoder-php / Geocoder

The most featured Geocoder library written in PHP.
https://geocoder-php.org
MIT License
3.94k stars 517 forks source link

Autocomplete mode #1120

Open jbelien opened 3 years ago

jbelien commented 3 years ago

The last 2 PR are aiming to add autocomplete support.

I like the idea but I think we need to figure out a consistent way to implement that across all providers that offer autocompletion.


1118 by @nassuf

$query->withData('autocomplete', true);

1119 by @gdw96

$query->withData('mode', GoogleMapsPlaces::GEOCODE_MODE_AUTOCOMPLETE);

Personally, I would go for a new AutocompleteQuery class (see src/Common/Query) so we make it consistent and structured for every provider. That being said, we would probably need to check how many provider offer autocompletion to see if it worth it.

Otherwise, I would go for solution 2 here above that seems more flexible.

Any insight on this topic @Nyholm @willdurand ?

gdw96 commented 3 years ago

Note: Google Place Autocomplete returns limited information about places. It comes with Google Place details (the sessiontoken parameter allows, among other things, to link the two queries).

So I was planning to add Google Place Details [it also allows to return a place from its ID] in the same way as Google Place Autocomplete. But I'll wait for now.

All this to say, that the different providers that offer autocomplete do not necessarily return enough data. For example, Google Place Autocomplete returns very few data corresponding to the Address class.

Nyholm commented 3 years ago

Hm.. How many providers support auto complete?

Does it make sense to do bring them under a common interface? What would return values be? etc.

jbelien commented 3 years ago

@gdw96 Thanks for the insight !

Maybe it doesn't make sense to add a common interface then...

I'll try to list the provider than have autocompletion (when I have some free time).