본문으로 바로가기
import requests
import folium
import time
import json
import os
import ssl
import urllib.request
import webbrowser




#서비스시작 안네
print('카페 예약제 서비스 입니다')

location1 = input('현재 주소를 입력하시오:')

#현재 주소 위도경도 뽑아오기
URL = 'https://maps.googleapis.com/maps/api/geocode/json?key=AIzaSyDyG5cnMMKDdYHV7oQ3TIq_-y0lAlMNVnk' \
'&sensor=false&language=ko&address={}'.format(location1)

response = requests.get(URL)
data = response.json()
lat1 = str(data['results'][0]['geometry']['location']['lat'])
lng1 = str(data['results'][0]['geometry']['location']['lng'])



p_2 =input('도착 지역를 입력하시오:')
cafe =input('도착 카페를 입력하시오(이디야,스타벅스,할리스):')

#도착 주소 위도경도 뽑아오기 
location2 =p_2 + cafe


URL = 'https://maps.googleapis.com/maps/api/geocode/json?key=AIzaSyDyG5cnMMKDdYHV7oQ3TIq_-y0lAlMNVnk' \
'&sensor=false&language=ko&address={}'.format(location2)

response = requests.get(URL)
data = response.json()
lat2 = str(data['results'][0]['geometry']['location']['lat'])
lng2 = str(data['results'][0]['geometry']['location']['lng'])

#걸리는 시간 측정

if (__name__ == "__main__") :
    dat=','
    origin          = lat1+dat+lng1
    destination     = lat2+dat+lng2
    mode            = "transit"
    departure_time  = "now"
    key             = 'AIzaSyDyG5cnMMKDdYHV7oQ3TIq_-y0lAlMNVnk'

    url = "https://maps.googleapis.com/maps/api/directions/json?origin="+ origin \
            + "&destination=" + destination \
            + "&mode=" + mode \
            + "&departure_time=" + departure_time\
            + "&language=ko" \
            + "&key=" + key

    request         = urllib.request.Request(url)
    context         = ssl._create_unverified_context()
    response        = urllib.request.urlopen(request, context=context)
    responseText    = response.read().decode('utf-8')
    responseJson    = json.loads(responseText)

    with open("./Agent_Transit_Directions.json","w") as rltStream :
        json.dump(responseJson,rltStream)



if ( __name__ == "__main__" ) :

    wholeDict = None
    with open("./Agent_Transit_Directions.json","r") as transitJson :
        wholeDict = dict(json.load(transitJson))

    path            = wholeDict["routes"][0]["legs"][0]
    duration_sec    = path["duration"]["value"]




#걸리는 시간 체크
c=input('시간을 확인 하시겠습니까?(Y/N):')

#줄간격 띄우기
print('\n\n\n\n\n')


if c=='Y':
    time_c=duration_sec/60
    
    print(time_c,'분 걸립니다')
else:
    pass

    

#도착 지도 저장하기
map_osm = folium.Map(location=[lat2,lng2],zoom_start=17)

folium.Marker([lat2,lng2], popup=location2).add_to(map_osm)

map_osm.save('C:\제혁\지도 사진들/map1.html')


c = input('지도를 확인하시겠습니까?(Y/N)')

if c == 'Y':

    webbrowser.open('file:///C:/제혁/지도 사진들/map1.html')
else:
    pass




#줄간격 띄우기
print('\n\n\n\n\n')

input('메뉴를 확인을 도와 드리겠습니다(Y):')



#카페메뉴 보여주기
if cafe == '이디야':
    f=open('이디야 메뉴.txt','r')
    print(f.read())

    f.close()

    f=open('이디야 메뉴.txt','r')


    menu = input('\n메뉴 설정:')
    while True:
        line=f.readline()
        if menu in line:
            result = line

            break

    
    f.close()
   
elif cafe == '스타벅스':
    f=open('스타벅스 메뉴.txt','r')
    print(f.read())

    f.close()

    f=open('스타벅스 메뉴.txt','r')


    menu = input('\n메뉴 설정:')
    while True:
        line=f.readline()
        if menu in line:
            result = line

            break

    
    f.close()

elif cafe == '할리스':
    f=open('할리스 메뉴.txt','r')
    print(f.read())

    f.close()

    f=open('할리스 메뉴.txt','r')


    menu = input('\n메뉴 설정:')
    while True:
        line=f.readline()
        if menu in line:
            result = line

            break

    
    f.close()


#결제 방식 선택
pay = input ('결제 방식을 고르시오(현금,카드):')

#확인 작업

print('\n\n\n\n\n\n\n\n\n예약하신 음료 및 가격:%s \n결제 방식:%s \n\n걸리는 시간:%s분\n\n예약이 완료 되었습니다' %(result,pay,time_c))

 

 

할리스 메뉴.txt

에스프레소

카페 아메리카노 4.1
카페라떼/카푸치노 4.6
바닐라 딜라이트 5.1
카라멜 마키아또 5.5
카페 모카6.1

리스트레또
리스트레또 아메리카노 4.1
리스트레또 라떼 4.6
리스트레또 딜라이트 5.3

콜드브루
콜드브루 4.5
골드브루 아떼 5.0
크림 라떼 5.9
스위트 크림라떼 5.5

초콜릿
민트 초코 5.5
리얼 벨지안 초코 5.9
화이트 토코 5.2
핫초코/아이스초코 4.9

티
그린티/밀크티 라떼 5.8
제주한라봉 감귤차4.8
고흥 유자차 4.8
스퀴즈 레몬차 / 홍자몽차 5.3
아이스 티 4.8
해남 녹차 4.3
얼 그레이 4.3
피치우롱 4.3
고구마 라떼 5.5

스무디
과일체소 착즙 주스 5.0
과일채소 착즙 스무디 5.9
과일스무디 5.7

스파클링 5.7

 

 

이디야 메뉴.txt

이디야

coffe
에스프레소         Espresso              2.5
카페 아메리카노    Caffe Americano       2.8
카페 라때          Caffe Latte           3.2
카푸치노           Cappuccino            3.2
카페 모카          Caffe Mocha           3.5
카라멜 마끼아또    Caramel Macchiato     3.5
바닐라 라때        Vanilla Latte         3.5
화이트 초콜릿 모카 White Chocolate Mocha 3.5
민트 모카          Mint Mocha            3.8
니트로커피         Nitro Coffe           3.9

ade
레몬 에이드        Lemon Ade             3.8
자몽 에이드        Grapefruit Ade        3.8
청포도 에이드      Green Grape Ade       3.8
라임 에이드        Lime Ade              3.8

blending tea
아이스티           Iced Tea              2.5
어린잎 녹차        Green Tea             2.8
얼그레이 홍차      Earl Grey Black Tea   2.8
로즈 자스민 티     Rose Jasmine Tea      2.8
캐모마일 레드 티   Camomile Red Tea      3.0
페퍼민트 티        Peppermint Tea        3.0
밀크 티            Milk Tea              3.5
과일차             Fruit Tea             3.8
레몬 스윗플럼      Lemon Sweet Plum      4.2
자몽 네이블오렌지  Grapefruit Navel Orange4.2
유자 피나콜라다    Yuja Pinacolada       4.2

shake
오리진 쉐이크      Origin Shake          4.3
초코쿠키 쉐이크    Chocolate Cookie Shake4.5
딸기 쉐이크        Strawberry Shake      4.8

 

스타벅스 메뉴.txt

스타벅스

커피&에스프레소

스타벅스 돌체 라떼          5.6
카라멜 마키아또             5.6
화이트 초콜릿 모카          5.6
카페 모카                   5.1
카페 라때                   4.6
디카페인 카페 라때          4.9
카페 아메리카노             4.1
오늘의 커피                 3.8
바닐라 크림 콜드 브루        5.5
콜드 부루                   4.5

스타벅스 티바나                      

그린티 라떼                 5.9
얼 그레이 티 초콜릿         5.9
자몽 허니 블랙 티           5.3
차이 티 라떼                5.1
풀 리프 티 라떼             5.1
풀 리프 티                  4.1
아이스 쉐이큰 티 레모네이드  4.8

실행 과정및 결과

 

 

 

지도확인 Y를 누르면 바로 html파일이 열리면서 지도확인이 가능하다

 

'python 프로젝트(google map api)' 카테고리의 다른 글

Google Map API  (0) 2020.05.27