Nello script #104 abbiamo visto come sfruttare le api di geolocalizzazione di HTML5 per ottenere la posizione dell'utente. La posizione viene fornita in formato latitudine/longitudine che è perfetto quando dobbiamo lavorare con le mappe, ma inutile se dobbiamo anche mostrare all'utente informazioni sull'indirizzo in cui si trova.
Per ottenere tutte le informazioni sull'indirizzo civico corrispondente a una latitudine/longitudine possiamo usare i servizi REST di Bing. Essendo REST, questi servizi possono essere invocati da JavaScript ma, essendo su un altro dominio, dobbiamo utilizzare JSONP per ottenere i risultati.
L'esempio che segue mostra il codice necessario ad invocare i servizi REST di Bing.
<html> <head> <script src="http://ajax.aspnetcdn.com/ajax/jquery/jquery-2.0.1.js"></script> <script type="text/javascript"> $(document).ready(function () { $.ajax({ url: "http://dev.virtualearth.net/REST/v1/Locations/47.64054,-122.12934", dataType: "jsonp", data: { key: "<BingMapsKey>", }, jsonp: "jsonp", success: function (data) { $("#searchResult").append( data.resourceSets[0].resources[0].address.formattedAddress ); } }); }); </script> </head> <body> <div id="searchResult" > </div> </body> </html>
La prima cosa da notare nello script è l'URL invocato. L'ultima parte dell'URL contiene la latitudine e la longitudine (separati da virgola (,) e con il punto (.) come separatore decimale) del punto di cui si vuole trovare l'indirizzo. Come seconda cosa da notare c'è il fatto che come parametro passiamo la BingMapsKey. Questa è obbligatoria e va ottenuta attraverso il pannello di controllo di Bing. Infine, il codice nel callback "success" mostra come ottenere l'indirizzo completo formattato come stringa, ma ci sono anche i singoli campi come la città, l'indirizzo, lo stato e così via.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Generare token per autenicarsi sulle API di GitHub
Utilizzare le Cache API di JavaScript per salvare elementi nella cache del browser
Specificare il versioning nel path degli URL in ASP.NET Web API
Eseguire una GroupBy per entity in Entity Framework
Evitare il flickering dei componenti nel prerender di Blazor 8
Utilizzare domini personalizzati gestiti automaticamente con Azure Container Apps
Hosting di componenti WebAssembly in un'applicazione Blazor static
Semplificare il deployment di siti statici con Azure Static Web App
Migrare una service connection a workload identity federation in Azure DevOps
Filtrare e rimuovere gli elementi dalla cache del browser tramite le API JavaScript
Utilizzare un service principal per accedere a Azure Container Registry
Eseguire query manipolando liste di tipi semplici con Entity Framework Core