python で逆ジオコーディング

python で緯度と経度から住所を取得する。(一番長い住所)

参考

Python GoogleMapsAPIで逆ジオコーディングを日本語で出す
Pythonで文字列の長さに対するmax/minを取る

インストール

pip install googlemaps

サンプルコード

import googlemaps
def reverse_geocoding(lat, lng):
    latlng = f'{lat}, {lng}'
    gmaps = googlemaps.Client(key=settings.GOOGLEMAP_API_KEY)
    results = gmaps.geocode(latlng, language='ja')
    addresses = [result.get('formatted_address') for result in results]
    longuest_address = max((address[3:] for address in addresses), key=len)
    return longuest_address