Skip to Content
Menu
You need to be registered to interact with the community.
This question has been flagged
1 Odgovori
8310 Prikazi

Hi Odoo developers,

Am currently building a custom module in Odoo 13.Is it possible to find the location latitude and longitude from an address using python.

I have the details in the contact form such as street,state,country etc..

Thanks

Avatar
Opusti
Best Answer

Hi,

BY default in odoo itself, there is such functionality, if you go to partners form view, you can see a page named Partner Assignation, make sure that the module named base_geolocalize is installed in the database.

Once the module is installed you can see the latitude and longitude is coming based on the address of the partner on clicking the Geo Locate Button,


See the code of the corresponding button action:


@classmethod
def _geo_localize(cls, apikey, street='', zip='', city='', state='', country=''):
search = geo_query_address(street=street, zip=zip, city=city, state=state, country=country)
result = geo_find(search, apikey)
if result is None:
search = geo_query_address(city=city, state=state, country=country)
result = geo_find(search, apikey)
return result

@api.multi
def geo_localize(self):
# We need country names in English below
apikey = self.env['ir.config_parameter'].sudo().get_param('google.api_key_geocode')
for partner in self.with_context(lang='en_US'):
result = partner._geo_localize(apikey,
partner.street,
partner.zip,
partner.city,
partner.state_id.name,
partner.country_id.name)
if result:
partner.write({
'partner_latitude': result[0],
'partner_longitude': result[1],
'date_localization': fields.Date.context_today(partner)
})
return True


File in Github:  https://github.com/odoo/odoo/blob/13.0/addons/base_geolocalize/models/res_partner.py


Thanks

Avatar
Opusti
Avtor

thanks niyas

if form how to capture the latitude & longitude value from action button in odoo

Related Posts Odgovori Prikazi Aktivnost
4
maj 24
11282
1
apr. 24
2183
0
nov. 23
1156
1
sep. 23
1158
2
avg. 23
3262