<div dir="ltr"><div><div><div><div>Il giorno 17 agosto 2017 16:06, Marina Cooper <<a href="mailto:marycoopergd@gmail.com">marycoopergd@gmail.com</a>> ha scritto:<br>><br>> Ciao a tutti, vorrei utilizzare openstreetmap per sviluppare una web app che permetta di creare percorsi personalizzati per gli utenti sulla base dei tag associati ai luoghi (es: voglio andare da A a B passando per tutti i luoghi presenti che abbiano tag "amenity = bar" ). <br>> Cercando nella documentazione, ho provato a fare delle richieste utilizzando XAPI (una query di esempio che ho utilizzato è questa: <a href="http://www.overpass-api.de/api/xapi?debug=*[amenity=hospital][bbox=13.20524,43.70861,13.22842,43.72338]">http://www.overpass-api.de/api/xapi?debug=*[amenity=hospital][bbox=13.20524,43.70861,13.22842,43.72338]</a>) . <br>> Le informazioni che mi venogno ritornate sono corrette, e l'ho provata anche modificando l'output in modo che mi ritornasse un JSON, in questo modo: <a href="https://www.overpass-api.de/api/interpreter?data=[out:json];ways[amenity=hospital](43.70861,13.20524,43.72338,13.22842);out%20meta">https://www.overpass-api.de/api/interpreter?data=[out:json];ways[amenity=hospital](43.70861,13.20524,43.72338,13.22842);out%20meta</a>;<br>><br>> Constato che sono corrette, mi manca il passo successivo: vorrei fare in modo che le query siano ovviamente custom, e vorrei inserirle nella web app. Com'è possibile farlo? Al momento sto lavorando con il framework Ionic 3, quindi sto usando Typescript e Angular.  <br>> In seguito , mi è stato detto che XAPI è praticamente morto e non è consigliato utilizzarlo in nuovi progetto; sono stata indirizzata all'utilizzo di overpass-turbo e il suo linguaggio overpassQL per le query (<a href="http://overpass-turbo.eu">http://overpass-turbo.eu</a>). Lo wizard è molto utile per capire come strutturare la query, ma rimane la domanda: come faccio a inserire le query nella mia applicazione, eseguirle ed ottenere il risultato? Non capisco proprio come integrarle nel codice javascript e fare in modo che si riesca a fare una richiesta al server ed ottenere il risultato voluto. A chi devo fare la richiesta? La query costruita deve essere inviata come stringa? Come gestisco il risultato?<br>> Conoscete tutorial o progetti su github da cui posso capire come strutturare la richiesta e ottenere i dati, o eventualmente API più comode? Non so davvero come muovermi al momento!<br><br>Questo sembra più un problema di programmazione web che di OSM.<br>Qualche
 giorno fa ho realizzato un applicativo simile per creare mappe 
personalizzate con POI in evidenza in base alle diverse esigenze, 
utilizzando <a href="http://overpass-api.de/api/interpreter">overpass-api.de/api/interpreter</a>; è molto semplice,
Javascript liscio, magari trovi qualcosa di carino:<br><br>Codice sorgente: <a href="https://github.com/frafra/poi-around-me">https://github.com/frafra/poi-around-me</a><br>Demo: <a href="https://frafra.github.io/poi-around-me/">https://frafra.github.io/poi-around-me/</a><br><br></div>Tieni conto che overpass a differenza di overpass-turbo non restituisce geoJSON, solo JSON.<br><br></div><div>Detto questo, dalla parte iniziale della tua mail mi viene il sospetto che tu voglia/debba creare qualcosa più articolato della semplice visualizzazione a schermo dei nodi con un certo tag sulla mappa. Se le API di overpass non ti bastano, valuta di utilizzare un database geospaziale lato server (nel progetto che ho mostrato nella mia precedente mail ho fatto proprio così: i dati da overpass passano a sqlite/spatialite, eseguo una query e creo una mia piccola API REST che mi ritorna un geoJSON).<br></div><div><br></div><br></div>Buona programmazione,<br></div>Frafra<br></div>