Python 基本メモ Googleジオコーダー

クラスにしてみました。


import googlemaps

class Google:
    
    API_KEY = "???????????????????????????????????????"
  
    '''
    コンストラクタ
    '''

    def __init__(self, address):
        self.address = address
    
    # ジオコーダー実行 経緯度、郵便番号返却 #
    def getLatLonZip(self) -> dict:
        
        dict = {"lat": -500, "lon": -500, "zip": "000-0000"}
        
        gmaps = googlemaps.Client(key=Google.API_KEY)
        result = gmaps.geocode(self.address)
        #print(result[0])
        
        if len(result) > 0:
            lat = result[0]["geometry"]["location"]["lat"]
            lon = result[0]["geometry"]["location"]["lng"]
        
            dict["zip"] = ""
            addrcomps = result[0]["address_components"]
            for adc in addrcomps:
                if adc["types"][0] == "postal_code":
                     dict["zip"] = adc["long_name"]
                 
            print (lat,lon, zip)
        
            dict["lat"] = lat
            dict["lon"] = lon
        
        return dict

import


import geoclass.Google as g

呼び出し


 # 経緯度、郵便番号ジオコーダー #
 geo = g.Google(addr)
 llz = geo.getLatLonZip()

コメントを残す