はじめに
API 別に 2 つ作ってみました。どちらも引数 query に住所またはランドマークを設定すると、緯度、経度を返すコードです。
方法
Geocoding API
import time
import requests
from bs4 import BeautifulSoup
def get_geocoding(query):
'''
Args:
query(str): 住所、ランドマーク
Returns:
lat, lng(float): 緯度、経度
'''
url = 'https://www.geocoding.jp/api/'
q = {'q': query}
r = requests.get(url, params=q)
time.sleep(60)
soup = BeautifulSoup(r.text, 'lxml-xml')
try:
lat = soup.find('lat').get_text()
lng = soup.find('lng').get_text()
lat, lng = lat, lng
except:
lat, lng = 0
return lat, lng
Google Maps API
import googlemaps
def get_googlemaps_geocoding(query):
'''
Args:
query(str): 住所、ランドマーク
Returns:
lat, lng(float): 緯度、経度
'''
googleapikey = 'APIキー'
gmaps = googlemaps.Client(key=googleapikey)
gmap_list = gmaps.geocode(query)
try:
ll = gmap_list[0]['geometry']['location']
lat, lng = ll['lat'], ll['lng']
except:
lat, lng = 0
return lat, lng