{"id":11538,"date":"2015-12-28T18:36:50","date_gmt":"2015-12-28T17:36:50","guid":{"rendered":"http:\/\/www.devapp.it\/wordpress\/?p=11538"},"modified":"2016-06-07T14:54:50","modified_gmt":"2016-06-07T12:54:50","slug":"google-maps-api-per-predire-il-traffico","status":"publish","type":"post","link":"https:\/\/www.devapp.it\/wordpress\/google-maps-api-per-predire-il-traffico\/","title":{"rendered":"Google Maps, API per predire il traffico"},"content":{"rendered":"<p>Google Maps \u00e8 una delle caratteristiche pi\u00f9 ricercate dai programmatori per arricchire le proprie app mobile di funzionalit\u00e0 utili nel quotidiano.\u00a0Inserire una mappa in un&#8217;app Android o un sito web, fornita di dettagli e caratteristiche anche avanzate non \u00e8 particolarmente complesso: basta seguire le indicazioni della documentazione e\u00a0applicare quanto indicato.<\/p>\n<p>Recentemente, le API collegate alle mappe pi\u00f9 famose del mondo si sono arricchite di <strong>nuove funzionalit\u00e0 di previsione del traffico<\/strong>. Come spiegato dal team che ha curato il progetto, il sistema sfrutter\u00e0 un modello predittivo che far\u00e0 leva su dati storici per effettuare supposizioni sulle condizioni di traffico future. Potr\u00e0, tra l&#8217;altro, essere specificato un<em> traffic_model<\/em> da scegliere tra tre alterative:<\/p>\n<ul>\n<li><em>optimistic<\/em> quando un eventuale ritardo dell&#8217;utente non crea problemi o addirittura pu\u00f2 essere un vantaggio. Ad esempio, si pensi ad un sistema di domotica che accende il riscaldamento domestico in attesa che il padrone di casa faccia ritorno: un eventuale ritardo al limite farebbe trovare un clima ancora pi\u00f9 temperato;<\/li>\n<li><em>pessimistic<\/em>: da usare quando il ritardo pu\u00f2 avere conseguenze gravi. Pensiamo all&#8217;utente che deve arrivare per tempo all&#8217;aeroporto per non perdere il proprio volo;<\/li>\n<li><em>best_guess<\/em>: quando si vuole ottenere una stima pi\u00f9 accurata possibile.<\/li>\n<\/ul>\n<p>Lo sfruttamento di tali API pu\u00f2 seguire due vie:<\/p>\n<ul>\n<li>le\u00a0<a href=\"https:\/\/developers.google.com\/maps\/documentation\/directions\/\" target=\"_blank\">Directions API<\/a>, gi\u00e0 molto utili per richiedere\u00a0l&#8217;indicazione di percorsi stradali idonei a percorrere una tratta\u00a0specificando anche la modalit\u00e0 di spostamento (in auto, a piedi, etc.);<\/li>\n<li>le\u00a0<a href=\"https:\/\/developers.google.com\/maps\/documentation\/distance-matrix\/\" target=\"_blank\">Google Maps Distance Matrix API<\/a>, specializzate in calcoli su distanze e tempi di percorrenza verso destinazioni multiple.<\/li>\n<\/ul>\n<p>I link sopra riportati proiettano velocemente il lettore verso le pagine della documentazione ufficiale dove si pu\u00f2 iniziare subito a sperimentare. Le modalit\u00e0 non sono proibitive per chi ha gi\u00e0 esperienza\u00a0di programmazione in Rete: una volta ottenuta una API KEY, si pu\u00f2 risolvere il tutto con chiamate\u00a0REST che restituiscono dati in JSON o XML oppure sfruttando apposite librerie client per i vari linguaggi.<\/p>\n<p>Quindi, buona sperimentazione!<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Google Maps \u00e8 una delle caratteristiche pi\u00f9 ricercate dai programmatori per arricchire le proprie app mobile di&#8230;<\/p>\n","protected":false},"author":561,"featured_media":11603,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[534,481],"tags":[1562,1058,1577,1578],"class_list":["post-11538","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-news","category-risorse-utili","tag-creare-app-android","tag-creare-app-ios","tag-google-maps-api","tag-mappe-nelle-applicazioni-mobili"],"acf":[],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/posts\/11538","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/users\/561"}],"replies":[{"embeddable":true,"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/comments?post=11538"}],"version-history":[{"count":7,"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/posts\/11538\/revisions"}],"predecessor-version":[{"id":12105,"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/posts\/11538\/revisions\/12105"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/media\/11603"}],"wp:attachment":[{"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/media?parent=11538"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/categories?post=11538"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/tags?post=11538"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}