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
Popolare una classe a partire dal testo, con Semantic Kernel e ASP.NET Core Web API
Generare la software bill of material (SBOM) in GitHub
Sfruttare MQTT in cloud e in edge con Azure Event Grid
Migliorare i tempi di risposta di GPT tramite lo streaming endpoint in ASP.NET Core
Assegnare un valore di default a un parametro di una lambda in C#
Estrarre dati randomici da una lista di oggetti in C#
Generare un hash con SHA-3 in .NET
Filtrare i dati di una QuickGrid in Blazor con una drop down list
Recuperare l'ultima versione di una release di GitHub
Creare una libreria CSS universale: Clip-path
Usare le navigation property in QuickGrid di Blazor
Visualizzare le change sul plan di Terraform tramite le GitHub Actions