.. _widgetpedia/genro/components/geoCoderField: geoCoderField ============= Grazie al component ``geocoder`` è possibile, partendo da un singolo campo *Indirizzo completo*, rilevare tutti i dati di questo indirizzo (via, numero civico, città, CAP, coordinate geografiche, e così via). Per funzionare, il *geocoder* richiede una preventiva configurazione delle `API keys di Google Maps `_. L'API key andrà inserita nel file *instanceconfig.xml* come descritto nel `Manuale dei Services `_:: Una volta impostata la chiave, sarà sufficiente compilare un qualsiasi campo di *indirizzo completo* per richiedere i dati di interesse: .. raw:: html Si noti che è attraverso tramite l'uso del parametro ``selected_`` che si richiede la "copia" prima dello *street_address*, poi della *locality*, del *postal_code* e infine della *position* che verrà utilizzata dalla mappa. I parametri disponibili sono molteplici, ed è possibile visualizzarli per intero costruendo un'apposita `Bag `_ con l'attributo ``selectedRecord='.addressbag'`` (il *path* può ovviamente essere modificato a piacimento). Nell'esempio questa Bag viene poi visualizzata in un tree a mero scopo didattico. Components accessori -------------------- Il Geocoder può essere innanzitutto combinato con un altro mini-component, ``GoogleMap``, che permette la visualizzazione in mappa come nell'esempio. Inoltre, può essere utile anche la visualizzazione combinata con `what3words `_, un service particolare che permette di suddividere una mappa in piccole aree di 9m quadrati (3x3), e assegnare a queste una stringa di tre parole separate da un punto. In questo modo l'area è assolutamente univoca in tutto il globo, riducendo gli errori di individuazione legati ad aree particolarmente remote o difficilmente individuabili. Per l'implementazione di w3w fai riferimento all'esempio *geocoder* che trovi nel `package test `_ .. Vediamo nell'esempio il funzionamento con l'individuazione delle aree con w3w: .. .. raw:: html .. Non funziona su py2, quindi attendiamo il passaggio di dev a 3 per pubblicare direttamente l'esempio **Reference** API Keys di Google Maps: https://developers.google.com/maps/documentation/javascript/get-api-key API Keys di w3w: https://developer.what3words.com/public-api .. raw:: html
**Parametri:** +------------------------+------+--------------------------------------------------+ | Nome parametro | Tipo | Descrizione | +========================+======+==================================================+ |value |T |Attributo facoltativo, permette di indicare il | | | |path dove riportare il valore inserito nel campo | | | |dell'indirizzo completo (es: value='^.geodesc) | +------------------------+------+--------------------------------------------------+ |selectedRecord |T |Permette di indicare il path dove riportare la bag| | | |completa con tutti i dati ottenuti dalla richiesta| | | |(es: selectedRecord='.full_address_bag') | +------------------------+------+--------------------------------------------------+ |selected\_ |T |Permette di indicare il parametro di cui si vuole | | | |copiare il valore e il path di destinazione (es: | | | |selected_street_address='.indirizzo_via') | +------------------------+------+--------------------------------------------------+ .. sectionauthor:: Davide Paci