Abbiamo imparato a conoscere InputScope nel nostro ultimo tutorial, come parte della serie di sviluppo Mango App di Windows Phone 7.5. In questa lezione impareremo come recuperare la posizione globale del telefono, cioè la sua latitudine e longitudine e quindi chiamare un servizio web che risolverà la latitudine e la longitudine in formato Città, Stato e Paese.
Windows Phone 7 è dotato di un'interfaccia GPS. Se abbinati all'API del servizio di localizzazione di Windows Phone 7, possiamo utilizzarlo per determinare la latitudine e la longitudine, ovvero la posizione corrente del telefono. Possiamo quindi utilizzare questi valori di latitudine e longitudine per determinare la città, lo stato e il paese. Utilizziamo un servizio Web per risolvere la città, lo stato e il paese. Un servizio web può essere pensato come un metodo che gira su Internet. Un webservice è ospitato su un server e il suo metodo viene esposto insieme ai parametri che accetterà e al tipo di dati che restituirà. Possiamo chiamare un tale servizio web su Internet, recuperare i risultati e fare qualcosa di significativo con i dati ottenuti.
Crea un nuovo progetto Windows Phone 7 con un nome univoco come "GPSDemo". Copia e incolla il seguente codice xaml nella griglia del pannello del contenuto.
HorizontalAlignment =”left”
Margine =”12,23,0,0
Name =”textBlock1
Text =””
VerticalAlignment =”top”
Larghezza = "423" />
Height =”72
HorizontalAlignment =”left”
Margine =”275,59,0,0
Name =”button1
VerticalAlignment =”top”
Width =”160
Fai clic = "button1_Click" />
Con il codice sopra riportato creiamo un blocco di testo vuoto e un pulsante con la proprietà del contenuto modificata in Trova. Passa all'evento button1_Click. Prima di scrivere il codice per questo, abbiamo bisogno di aggiungere un riferimento a. Fare clic con il pulsante destro sul titolo del progetto in solution explorer e selezionare Aggiungi riferimento dal menu. Sotto la scheda '.Net' scorrere verso il basso e selezionare il nome del componente 'System.Device'. Fai clic su OK per aggiungere il file dll al tuo progetto. Quindi digitare la seguente riga di codice dopo l'ultima istruzione using in MainPage.xaml.cs.
using System.Device.Location;
Successivamente creiamo un riferimento al servizio web. Per fare ciò, fare clic con il tasto destro del mouse sul titolo del progetto e selezionare Aggiungi riferimento servizio dal menu. Digita il seguente URL "https://msrmaps.com/TerraService2.asmx" nella casella di testo Indirizzo e fai clic su "Vai". Una volta che il servizio web viene identificato su Internet, verrà visualizzato un elenco di operazioni disponibili in tale servizio Web. Semplice cambiare lo spazio dei nomi da ServiceReference1 a myTerraService e fare clic sul pulsante OK. Visual Studio crea la classe proxy che verrà utilizzata per lavorare con il servizio web. Una volta fatto questo, sei pronto per lavorare con l'interfaccia GPS del telefono. Copia e incolla le seguenti righe di codice nell'evento button1_Click.
GeoCoordinateWatcher myWatcher = new GeoCoordinateWatcher ();
var myPosition = myWatcher.Position;
doppia latitudine = 18.916;
doppia longitudine = 72,9;
if (! myPosition.Location.IsUnknown)
{
latitude = myPosition.Location.Latitude;
longitude = myPosition.Location.Longitude;
}
myTerraService.TerraServiceSoapClient client = new myTerraService.TerraServiceSoapClient ();
client.ConvertLonLatPtToNearestPlaceCompleted + = new EventHandler
client.ConvertLonLatPtToNearestPlaceAsync (new myTerraService.LonLatPt {Lat = latitude, Lon = longitude});
Copia e incolla il seguente metodo dopo le ultime parentesi graffe del metodo button1_Click
void client_ConvertLonLatPtToNearestPlaceCompleted (mittente dell'oggetto, myTerraService.ConvertLonLatPtToNearestPlaceCompletedEventArgs e)
{
textBlock1.Text = e.Result;
}
Ora diamo un'occhiata a cosa fa esattamente il codice. Inizialmente otteniamo i valori per latitudine e longitudine creando un oggetto della classe FeoCoordinateWatcher chiamato myWatcher e quindi accedendo alla latitudine e alla longitudine semplicemente accedendo alla proprietà latitudine e longitudine di myPosition.Location. Successivamente creiamo una chiamata asincrona al servizio web passando la latitudine e la longitudine. Infine, mostriamo semplicemente il risultato del webservice nel textblock. Viene effettuata una chiamata asincrona in modo che l'applicazione rimanga reattiva anche mentre viene ricevuto il risultato dal servizio web.
Questo conclude la nostra serie di sviluppo App Mango per Windows Phone 7.5.
Collegamenti a tutte le parti di questa serie di tutorial:
- Impara a sviluppare applicazioni Mango per Windows Phone 7.5: Parte 1
- Sviluppo di applicazioni Mango per Windows Phone 7.5: Parte 2 (app HelloWorld)
- Sviluppo di app per Windows Phone 7.5: parte 3; Variabili, tipi di dati e valori di assegnazione
- Sviluppo di app di Windows 7.5 Mango, parte 4: istruzione if
- Sviluppo di app per Windows 7.5 Mango, parte 5: operatori, espressioni, dichiarazioni
- Sviluppo di app per Windows 7.5 Mango, parte 6: Switch Statement
- Sviluppo di app Windows Phone Mango, parte 7: per le iterazioni
- Utilizzo di semplici metodi di supporto durante lo sviluppo di app Mango per Windows Phone 7.5: parte 8
- Lavorare con le stringhe: sviluppo delle app Mango per Windows Phone 7.5 - Parte 9
- Lavorare con DateTime: Sviluppo delle app Mango per Windows Phone 7.5 - Parte 10
- Comprensione e creazione di classi: Sviluppo di app per Windows Phone 7.5 Mango - Parte 11
- Lavorare con le classi: Sviluppo delle app Mango per Windows Phone 7.5 - Parte 12
- Informazioni sugli spazi dei nomi: Sviluppo di app per Windows Phone 7.5 Mango - Parte 13
- Raccolta di oggetti: Windows Phone Apps Development Turorial - Parte 14
- Informazioni su XAML: Windows Phone Apps Development Turorial - Parte 15
- Controlli del layout di Silverlight: Esercitazione per lo sviluppo di app per Windows Phone - Parte 16
- Evento XAML e controlli di input: Esercitazione sullo sviluppo di app per Windows Phone - Parte 17
- Lavorare con Image Control: Esercitazione per lo sviluppo di app per Windows Phone - Parte 18
- Lavorare con stili e risorse: Esercitazione sullo sviluppo di app per Windows Phone - Parte 19
- Applica lo stile e la risorsa tema ai controlli: Esercitazione sullo sviluppo delle app di Windows Phone - Parte 20
- Navigazione tra le pagine XAML: Esercitazione sullo sviluppo delle app per Windows Phone - Parte 21
- Utilizzo della barra delle applicazioni: Esercitazione sullo sviluppo delle app per Windows Phone - Parte 22
- Uso della tela come finestra di dialogo: Esercitazione sullo sviluppo delle app per Windows Phone - Parte 23
- Aggiunta di Inputscope diversi: Esercitazione sullo sviluppo di app per Windows Phone - Parte 24
- GPS, Location API e Calling Web Services: Esercitazione per lo sviluppo di app per Windows Phone - 25.