flutter-geocoding icon indicating copy to clipboard operation
flutter-geocoding copied to clipboard

Proposal - Support for the web implementation for the geocoding plugin

Open JDDV opened this issue 2 years ago • 9 comments

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!

JDDV avatar Sep 02 '21 11:09 JDDV

I would very much like to see geocoding plugin support for web implementation

yulkin2002 avatar Sep 07 '21 17:09 yulkin2002

Looking forward to seeing the plugin support for web

mehrbat avatar Sep 14 '21 12:09 mehrbat

Agreed

onalenna-monare avatar Sep 20 '21 11:09 onalenna-monare

@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.

karimkod avatar Sep 21 '21 09:09 karimkod

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 : mobile_capture

Web : web_capture

And for a location

Mobile : mobile_capture

Web :

web_capture_2

I'm sharing this with you to know your opinion about it.

Thanks

karimkod avatar Sep 21 '21 22:09 karimkod

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

neiljaywarner avatar Oct 06 '21 22:10 neiljaywarner

It would be much help if it supports web

Filmon-kidane avatar Nov 09 '21 10:11 Filmon-kidane

+1 for web support please!

rgb1380 avatar Nov 21 '21 02:11 rgb1380

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

cedvdb avatar Apr 15 '22 14:04 cedvdb