跳至內容
選單
此問題已被標幟
1 回覆
8931 瀏覽次數

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

頭像
捨棄
最佳答案

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

頭像
捨棄
作者

thanks niyas

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

相關帖文 回覆 瀏覽次數 活動
4
5月 24
12608
1
4月 24
3244
0
11月 23
1987
1
9月 23
2077
2
8月 23
4469