Before this commit, using google geoloc, we only provide a string as address withtout more information. Now by defaut, we force the country as components: https://developers.google.com/maps/documentation/geocoding/intro#geocoding Related to task-2030886 **setup:** ```python url = "https://maps.googleapis.com/maps/api/geocode/json" ``` **before:** ```python params = {'address': 'Georgia', 'key': apikey} requests.get(url, params).json() ``` > ==> Return coordinate of "Georgia, United States" > What is completely wrong > **after:** ```python params = {'address': 'Georgia', 'components':'country:Georgia', 'key': apikey} requests.get(url, params).json() ``` > ==> Return Nothing > What is strange but less wrong than US > ```python params = {'address': 'Belgium', 'components':'country:Belgium', 'key': apikey} requests.get(url, params).json() ``` > ==> Return coordinate of Belgium closes odoo/odoo#34582 Signed-off-by: Christophe Simonis <chs@odoo.com>
Partner geolocalize
Contacts geolocation API to convert partner addresses into GPS coordinates.
Configure
You can configure in General Settings the default provider of the geolocation API service.
A method _call_<service> should be implemented in object base.geocoder that accepts an address string as parameter and return (latitude, longitude) tuple for this to work.
If no default provider is set, the first one will be used by default.
An optional method _geo_query_address_<service> which takes address fields as parameters can be defined to encode the query string for the provider.