############################################
# OS환경 : Mac OS
# VS coda -> Jupyter lab
############################################ 초기셋팅
import os
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
from matplotlib import font_manager, rc
import platform
import matplotlib
import warnings
warnings.filterwarnings('ignore')
############################################ 여기서 Matplotlib 코드를 사용하여 그래프 생성 및 표시
%matplotlib inline
############################################ 시각화 셋팅
import matplotlib.font_manager as fm
import matplotlib.pyplot as plt
## 폰트 설정 및 마이너스 부호 설정
plt.rc('font', family='NanumSquare') #나눔 글꼴로 설정
#plt.rc('font', family='Malgun Gothic') #맑은 고딕으로 설정
plt.rc('font', family='AppleGothic') #맥
plt.rcParams['axes.unicode_minus'] = False #부호
############################################ Google Maps 설치
# !pip install googlemaps
API키는 메모장에 몰래 적어놨다가, 복사 붙혀넣기
절대 외부에 공유하지 말 것!
############################################ Google Cloud API 키
google_map_key = 'AIzaSy어쩌구저쩌구이러쿵저러쿵'
# googlemaps 패키지
import googlemaps
# maps 객체 생성
maps = googlemaps.Client(key = google_map_key)
# 지역명칭 직접 입력해서, 위도/경도 좌표계 구하기
results = maps.geocode('관악역')
results
이렇게 되면 Json 형태로 위도/경도를 구할 수 있습니다.

# geometry 키 값 가져오기
results[0]['geometry']

# geometry 키 값 가져오기
results[0]['geometry']['location']
# 또는
# results 로부터 위/경도 데이터 추출
for result in results :
print(result['geometry']['location'])
break
위의 두 가지 방식중 어떤 코드를 입력해도 동일하게 출력됩니다.

# 위/경도 데이터 추출값을 변수에 저장
lat , lng = result['geometry']['location']['lat'], result['geometry']['location']['lng']
추출한 위도/경도를 지도에 시각화
# Folium 지도 시각화
import folium
m = folium.Map( # 지도 생성
location=[lat, lng],
zoom_start = 17,
width=800,
height=400,
)
folium.Marker( # 위/경도 위치 지정
[lat,lng],
popup='관악역',
tooltip='관악역 위치'
).add_to(m) # 그러고 지도에 대입
m
# import folium
# import googlemaps
# # Google Maps API 키 설정
# gmaps = googlemaps.Client(key='AIzaSyD9xCEQh7LbV5rWQioXMeZXiKbcbSt0wmk')
def viz_map(place):
# Google Maps API로 장소 정보 가져오기
results = gmaps.geocode(place)
lat, lng = None, None
# 모든 결과 확인
for result in results:
location = result['geometry']['location']
lat, lng = location['lat'], location['lng']
print(f'위도 {lat:.3f}, 경도 {lng:.3f}')
break
if lat is None:
return '검색 결과를 찾을 수 없습니다.'
m = folium.Map(
location=[lat, lng],
zoom_start=17,
width=800,
height=400,)
folium.Marker([lat, lng], popup=place).add_to(m)
return m
viz_map('평촌역')



스타벅스로 겁색하면 안나오는데,
스타벅스 00점으로 검색하면 나온다.
신기하다.