Join GitHub today
GitHub is home to over 50 million developers working together to host and review code, manage projects, and build software together.
Sign upGitHub is where the world builds software
Millions of developers and companies build, ship, and maintain their software on GitHub — the largest and most advanced development platform in the world.
[Feature Request] Lookup by id (GoogleMapsProvider, Nominatim) #942
Comments
|
Hello @franzwilding , That's indeed (IMHO) a good idea ! What do you think about this @willdurand @Nyholm ? Documentation: |
|
Hey @jbelien, I think an even better solution would be to extend the Gecoder Interface with an id-aware-geocoder interface, because some geocoders will not support an id, I guess? |
|
You're right but that's not an issue. Some providers do not support reverse geocoding either (have a look at AlgoliaPlaces for instance). |
|
Ok cool. I will try to find time to create a PR for this! |
|
Thanks a lot @franzwilding ! |
First of all, thanks for this great php package!
I have a feature request for getting address information by id instead of doing a full search again. I think many applications will store part of the geocoding response and eventually will re-fetch information for the stored part.
At the moment, with GoogleMapsProvider and NominatimProvider you can only do a reverse lookup by lat/lng or re-do the query. However both of the endpoints have a dedicated API for lookup (for google maps this even is the preferred way, because it will not count as a request as far as I know).
For OpenStreetMap it looks like this: https://nominatim.openstreetmap.org/lookup?osm_ids=NXXXXX.
It would be great if the providers would have a lookup method for this.
An even better solution would be to extend the provider Interface (or have a 2nd interface "LookupAwareProvider" with a lookup action or the GeocodeQuery object with an id property and maybe also the Location interface.
If a provider defines an id for a location, it could be used for a lookup call.
I know, that I can easily achieve this by creating my own provider, however, if this feature is interesting for you, we could discus an solution and I could provide a PR for this.