flutter-geocoding
flutter-geocoding copied to clipboard
Proposal - Support for the web implementation for the geocoding plugin
Context
The current geocoding
plugin is only for iOS and Android available. The plugin uses the geocoding services from Apple and Google, which are to a certain extend free to use on their respected platforms. Since there are more and more issues showing up on the flutter-geocoding
plugin GitHub page requesting to support web, we decided to look into opportunities and see what is possible/available to support the web with the geocoding
plugin. Unlike Apple's and Android's geocoding services, there is no free to use geocoding API that we can implement to support the web. There are some services that require you to register and offer a limited free experience.
Proposal
The idea is to implement the support for different geocoding services, for example services like HERE, Google's Geocoding API, Mapbox and so on.
The developer using the geocoding
plugin is free to use any of the supported geocoding services to his liking. The developer is also responsible for providing their own API key/access token needed for the geocoding service to make the requests. Keep in mind that geocoding services are not free after exceeding an certain amount of requests, how many requests can be done before you have to pay for the requests depends on the chosen service.
Summary of the proposal:
- Support will be build in for the web implementation with different paid geocoding services to pick from
- Developer provides their own API Key/access token needed for the geocoding service to make the request
Since there is a demand for a web implementation of the geocoding
plugin, I am very curious how the community and users of the geocoding
plugin feel about this proposal. It would help me out if you would react with a :+1: if you would like to see this implemented, and if you're not interested or against this proposal please comment with a :-1:. If you're not interested or against this proposal, it would help out to leave a comment on why you don't agree with the proposal.
If you have suggestions on how to improve the proposal, or suggestions about a geocoding API you would like to see implemented then also feel free to react!
I would very much like to see geocoding plugin support for web implementation
Looking forward to seeing the plugin support for web
Agreed
@JDDV Thanks for the proposal, I find it very interesting. Have you checked the nomination API? It has the reverse endpoint to lookup location from lat and long. Here. If you find it interesting, I'd be glad to volunteer and implement a web package based on it for geocoding. Waiting for your response.
I have implemented a web plugin for geocoding, however, there are some inconsistencies which is I believe due to the precision of the Nomniatim API. Here is a difference between the same location on the web version and the android version.
For a Placemark
Mobile :
Web :
And for a location
Mobile :
Web :
I'm sharing this with you to know your opinion about it.
Thanks
Do you confirm that android and ios usage of this plugin is completely free zero $ zero cents at any scale (bc it uses ios and android SDKs instead of endpoint
It would be much help if it supports web
+1 for web support please!
That's the approach I'm currently using. However if there is an error thrown on the device geocoding service, there is a fallback to http geocoding. I would like to see the same sort of fallback if this is implemented, else I'll have to keep using what I have.
FWIW here is the geocoder I wrote for mapbox: https://pub.dev/packages/map_box_geocoder
+1 for web support please please please.
web strongly welcomed!
@JDDV is there any news about this?
Hi,
The Geocoding plugin provides a wrapper around the available (free and anonymous) SDKs provided by the native platforms (CLGeocoder
on iOS and Geocoder
on Android).
Since there is no such alternative on web, we are not planning to add support for web. There are several alternatives available but they all require some sort of user registration and therefore don't fit in the philosophy of this package:
I will be closing this issue as Web implementation is not planned.