рдХреБрдЫ рд╣реА рд╕рдордп рдореЗрдВ HERE API рдХреИрд╕реЗ рд╕реАрдЦреЗрдВ

рдЫрд╡рд┐ рдКрдВрдЪрд╛рдИ
-рдЖрдк рдХрд╣рд╛рдВ рд╣реИрдВ?
-рдореИрдВ рдпрд╣рд╛рдВ рд╣реВрдВ

рд╕рд┐рддрдВрдмрд░ рдХреЗ рдЕрдВрдд рдореЗрдВ, рджреБрдирд┐рдпрд╛ рдореЗрдВ рд╕рдмрд╕реЗ рдмрдбрд╝рд╛ рд╣реИрдХрдереЙрди рдХрдЬрд╝рд╛рди рдореЗрдВ рд╣реБрдЖред рдкреНрд░рддрд┐рднрд╛рдЧрд┐рдпреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЗ рдЕрдиреБрд╕рд╛рд░, рдпрд╣ рдХрд╛рд░реНрдпрдХреНрд░рдо рдЧрд┐рдиреАрдЬ рдмреБрдХ рдСрдл рд░рд┐рдХреЙрд░реНрдбреНрд╕ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред


рдЗрди 48 рдШрдВрдЯреЛрдВ рдХреЗ рд▓рд┐рдП, рд╣рдорд╛рд░реЗ рд╕рд╛рде рдХрд╛рдо рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛:

рдПрдХ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рдореЛрдмрд╛рдЗрд▓ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╡рд┐рдХрд╕рд┐рдд рдХрд░реЗрдВ рдЬреЛ рдпрд╛рддреНрд░рд┐рдпреЛрдВ рдХреЛ рдЯреНрд░реЗрди рдорд╛рд░реНрдЧ рдХреЗ рд╕рд╛рде рд╢рд╣рд░реЛрдВ рдореЗрдВ рд╕реНрдерд┐рдд рд░реЗрд╕реНрддрд░рд╛рдВ рд╕реЗ рднреЛрдЬрди рд╡рд┐рддрд░рдг рдХрд╛ рдЖрджреЗрд╢ рджреЗред

рдЧреАрдд


рдмреЗрд╢рдХ, рдкреВрд░реЗ рдЖрдпреЛрдЬрди рдореЗрдВ, рд╣рдо рдЕрдкрдиреЗ рд╡рд┐рд╖рдп рдкрд░ рд╡рд┐рд╖рдо рдЙрдкрд╡рд╛рдХреНрдпреЛрдВ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдореЗрдВ рд▓рдЧреЗ рд╣реБрдП рдереЗред рд╣рдордиреЗ HRE API рд╕реАрдЦрдиреЗ рдФрд░ рдЙрдкрд░реЛрдХреНрдд рддреАрди рдкреНрд░рд╢реНрдиреЛрдВ рдХреЛ рд▓рд┐рдЦрдиреЗ рдореЗрдВ рд╕рднреА 48 рдШрдВрдЯреЗ рдирд╣реАрдВ рдмрд┐рддрд╛рдПред


рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рдореИрдВ рдЗрди рд╕реНрд▓реАрдкрд▓реЗрд╕ 48 рдШрдВрдЯреЛрдВ рдХреЗ рджреМрд░рд╛рди рдкреНрд░рд╛рдкреНрдд HERE API рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдЕрдиреБрднрд╡ рдХреЛ рдмрд┐рд▓реНрдХреБрд▓ рд╕рд╛рдЭрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ, рдЕрдзрд┐рдХ рд╕рдЯреАрдХ рд░реВрдк рд╕реЗ, рдкрд╛рдпрдерди рдХреЗ рдПрдХ рдЬреВрдирд┐рдпрд░ рдбреЗрд╡рд▓рдкрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдФрд░ рдиреЗрдЯрд╡рд░реНрдХ рдкрд░ рд╕рд┐рд╕реНрдЯрдо рдХреЛ рдЕрдиреНрдп рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд╕рд╛рде рдмрд╛рддрдЪреАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рддрд░рд┐рдд рдХрд┐рдпрд╛ рд╣реИред рд▓реЗрдЦ рд╕рднреА HERE API рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реЛрдВ рдХрд╛ рдЕрдиреБрд╡рд╛рдж рд╣реЛрдиреЗ рдХрд╛ рджрд┐рдЦрд╛рд╡рд╛ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдпрд╣ рдХреЗрд╡рд▓ рд╣рдорд╛рд░реА рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдореЗрдВ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддрд╛ рд╣реИред


рдкрд░рд┐рдЪрдп


рдЖрджреЗрд╢реЛрдВ рдХреЗ рд╡рд┐рддрд░рдг рдФрд░ рдЙрдирдХреЗ рдирд┐рд╖реНрдкрд╛рджрди рдХреЛ рд╕рдордп рдкрд░ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЯреНрд░реЗрди рдХреЗ рд╕реНрдЯреЗрд╢рди рдкрд░ рдЖрдиреЗ рдХреЗ рд╕рдордп рдХреВрд░рд┐рдпрд░ рдХреЛ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдкрд░ рдкрд╣реБрдВрдЪрдирд╛ рдЪрд╛рд╣рд┐рдПред рдЗрд╕ рд╕рдВрдмрдВрдз рдореЗрдВ, рдкреНрд░рддреНрдпреЗрдХ рдХреВрд░рд┐рдпрд░ рдХреЛ рдСрд░реНрдбрд░ рдХреА рдбрд┐рд▓реАрд╡рд░реА рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдиреНрдпреВрдирддрдо рд╕рдордп рдкрддрд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рджреЛ рдмрд┐рдВрджреБрдУрдВ (рд░реЗрд╕реНрддрд░рд╛рдВ рд╕реЗ рд░реЗрд▓рд╡реЗ рд╕реНрдЯреЗрд╢рди рддрдХ) рдХреЗ рдмреАрдЪ рдиреНрдпреВрдирддрдо рдпрд╛рддреНрд░рд╛ рд╕рдордп рдХреА рдЧрдгрдирд╛ рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рдерд╛ред рдЧрд╛рдБрд╡ рдореЗрдВ рдкрде рдХреА рдЧрдгрдирд╛ рдХреА рдЧрдИ рдереА, рдЗрд╕ рд╕рдВрдмрдВрдз рдореЗрдВ, рд╡рд┐рднрд┐рдиреНрди рд╡рд┐рдХрд▓реНрдкреЛрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЕрд░реНрдерд╛рддреН, рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдкрд░рд┐рд╡рд╣рди рдХрд╛ рдЙрдкрдпреЛрдЧ, рдПрдХ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдХрд╛рд░ рдФрд░ рдЪрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЗ рдкреИрд░ред


рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдПрдкреАрдЖрдИ рдХреЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рд╕реЗ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рд╕рдорд╕реНрдпрд╛ рдХреЗ рд╕рдорд╛рдзрд╛рди рдХреЗ рд▓рд┐рдП рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЖрд░рдИрдПрд╕рдЯреА рдЕрдиреБрд░реЛрдз рд╕рдмрд╕реЗ рдЙрдкрдпреБрдХреНрдд рд╣реИрдВ:



рдПрдкреАрдкреА рдЖрдИрдбреА рдФрд░ рдПрдкреАрдкреА рдХреЛрдб рдХреБрдВрдЬрд┐рдпреЛрдВ рдХреЛ рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдФрд░ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рд╡реЗрдмрд╕рд╛рдЗрдЯ рдХреЗ рдбреЗрд╡рд▓рдкрд░ рдЕрдиреБрднрд╛рдЧ рдореЗрдВ рдкрдВрдЬреАрдХрд░рдг рдХрд░рдХреЗ рдПрдкреАрдЖрдИ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИред рдлреНрд░реА рдПрдкреАрдЖрдИ рдХреБрдВрдЬреА рдЖрдкрдХреЛ рдкреНрд░рддрд┐ рдорд╛рд╣ 250 рд╣рдЬрд╛рд░ рдЕрдиреБрд░реЛрдз рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИред рдореЗрд░рд╛ рд╡рд┐рд╢реНрд╡рд╛рд╕ рдХрд░реЛ, рдпрд╣ рдПрдХ рд╣реИрдХрд╛рдереЙрди рдХреЗ рд▓рд┐рдП рд╕рднреА рдЬрд░реВрд░рддреЛрдВ рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд░рддрд╛ рд╣реИред


48 рдШрдВрдЯреЛрдВ рдХреЗ рд▓рд┐рдП рд╣рдорд╛рд░реЗ рдЖрд╡реЗрджрди рджреНрд╡рд╛рд░рд╛ HERE API рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рдЖрдБрдХрдбрд╝реЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕рдВрдЦреНрдпрд╛рдПрдБ рджрд┐рдЦрд╛рддреЗ рд╣реИрдВ:



рдЕрднреНрдпрд╛рд╕


рдкреНрд░рддреНрдпреЗрдХ рдЕрдиреБрд░реЛрдз рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдлрд╝реАрд▓реНрдб рд╢рд╛рдорд┐рд▓ рд╣реИрдВ:


deplocation = A #   arrlocation = B #   # ,      app_id = os.getenv('HERE_APP_ID') app_code = os.getenv('HERE_APP_CODE') 

рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдкрд░рд┐рд╡рд╣рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдпрд╛рддреНрд░рд╛ рдХрд╛ рд╕рдордп


 url = f"https://transit.api.here.com/v3/route.json" query = { 'dep': deplocation, 'arr': arrlocation, 'time': datetime.now().strftime('%Y-%m-%dT%H:%M:%S'), # ,     'app_id': app_id, 'app_code': app_code, 'routing': 'tt' #    } response = requests.get(url, params=query) data = response.json() status = data["Res"] if "Message" in status: print(status["Message"]) exit(-1) if "Connections" in status: route_dut_time = iso8601toSec( status["Connections"]["Connection"][0]["duration"] ) 

рдореИрдВ рдзреНрдпрд╛рди рджреЗрдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ рдХрд┐ рдЗрд╕ рдЕрдиреБрд░реЛрдз рдореЗрдВ, рдЖрдИрдПрд╕рдУ 8601 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рдордп рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдкреНрд░рд╛рдкреНрдд рд╕рдордп рдЕрд╡рдзрд┐ рдХреЛ рд╕реЗрдХрдВрдбреЛрдВ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдХрд╛рд░реНрдп iso8601toSec тАЛтАЛрд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред



рд╡реНрдпрдХреНрддрд┐рдЧрдд рд╡рд╛рд╣рдиреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рдпрд╛рддреНрд░рд╛ рдХрд╛ рд╕рдордп


 url = f"https://route.api.here.com/routing/7.2/calculateroute.json" query = { 'waypoint0': deplocation, 'waypoint1': arrlocation, 'mode': 'fastest;car;traffic:enabled', #       'app_id': app_id, 'app_code': app_code, 'departure': 'now' #   } response = requests.get(url, params=query) data = response.json() route_dur_time = data['response']['route'][0]['summary']['trafficTime'] 

рд╕рдордп рдХреЗ рд╕рд╛рде рдЗрд╕ рдЕрдиреБрд░реЛрдз рдХреЗ рд╕рд╛рде рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИ, рдпрд╣ рд╕реЗрдХрдВрдб рдореЗрдВ рд▓реМрдЯрддрд╛ рд╣реИред



рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдкреИрд░реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдпрд╛рддреНрд░рд╛ рдХрд╛ рд╕рдордп рдЦреЛрдЬрдирд╛ (рдЪрд▓рдирд╛)


 url = f"https://route.api.here.com/routing/7.2/calculateroute.json" query = { 'waypoint0': deplocation, 'waypoint1': arrlocation, 'mode': 'fastest;pedestrian', #   'app_id': app_id, 'app_code': app_code } response = requests.get(url, params=query) data = response.json() route_dur_time = data['response']['route'][0]['summary']['travelTime'] 

рдЗрд╕ рдЕрдиреБрд░реЛрдз рдореЗрдВ, рдкрд┐рдЫрд▓реЗ рдЙрджрд╛рд╣рд░рдг рдХреА рддрд░рд╣, рд╕рдордп рдХреЗ рд╕рд╛рде рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИ, рдпрд╣ рд╕реЗрдХрдВрдб рдореЗрдВ рд▓реМрдЯрддрд╛ рд╣реИред


рдирд┐рд╖реНрдХрд░реНрд╖


рдЗрди рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рд╣рдореЗрдВ рдмрд┐рдВрджреБ рдП рд╕реЗ рдмрд┐рдВрджреБ рдмреА рддрдХ рдЬрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рддреАрди рдмрд╛рд░ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ рдЧрдпрд╛ рдерд╛ред рдЙрдирд╕реЗ рдиреНрдпреВрдирддрдо рд╕рдордп рдФрд░ рдкреНрд░рдХрд╛рд░ рдХреЗ рдЖрдВрджреЛрд▓рди рдХреА рдЧрдгрдирд╛ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рд╣рдордиреЗ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдХрд┐ рдЗрдВрдЧрд┐рдд рд╕рдордп рддрдХ рдмрд┐рдВрджреБ рдмреА рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдореЗрдВ рдХрд┐рддрдирд╛ рд╕рдордп рд▓рдЧрд╛ред

Source: https://habr.com/ru/post/hi470347/


All Articles