Vediamo come possiamo utilizzare Bing SDK nelle nostre Metro Style Apps.
Inanzitutto dobbiamo scaricare dal sito Microsoft il package Bing Maps SDK for Windows Store apps a questo indirizzo:Â http://visualstudiogallery.msdn.microsoft.com/bb764f67-6b2c-4e14-b2d3-17477ae1eaca, dove troviamo anche alcune indicazioni per noi sviluppatori.
Una volta scaricato/installato il package lo dobbiamo aggiungere come Reference alla nostra applicazione, a questo punto se siamo sviluppatori C# o VB.NET ci manca ancora un requisito obbligatorio, cioè: Microsoft C++ Runtime Package.
Bene, ora che abbiamo tutti gli strumenti che ci servono per sviluppare ci manca ancora il Map Developer Account che possiamo creare sul sito http://www.bingmapsportal.com/.
Qui possiamo accedere con il nostro LiveId così da creare una SecretKey (che ci servira dopo per usufruire del servizio) associata alla nostra App:
Ecco qui una screenshot:
Ora possiammo vedere qualche esempio di codice
Per iniziare dobbiamo mettere come resource la SecretKey così che sia sempre disponibile nella nostra App (possiamo usare il App.xaml):

Adesso non ci rimane che mettere il controllo Map via XAML in questo modo:
L’App di esempio che ho fatto mette a disposizione quattro funzionalità nell’AppBar:
– ZoomIn (fattore di ingrandimento sulla mappa)
– ZoomOut (fattore di ridimensionamento sulla mappa)
– SetLocation (posizione attuale)
– ChangeView (cambio di vista)
Qui una screenshot completa:
Adesso vediamo il codice che serve per le funzionalità sopra alencate.
ZoomIn / ZoomOut
Per fare questo tipo di operazioni sulla mappa, molto semplicemente ci basta accedere all’oggetto mappa definito prima e impostare il nuovo ZoomLevel che ci interessa e successivamente fare un SetZoomLevel sulla mappa con il nuovo fattore di Zoom.
Ecco come:
Change Map Type
Per cambiare visualizzazione è sufficiente cambiare il valore l’enumerativa MapType dell’oggetto Map impostato precedentemente.
Ecco un esempio:
Set Location
Per impostare la nostra posizione attuale sulla mappa dobbiare creare un’istanza dell’oggetto Geolocaltor e invocare il metodo async GetGeopositionAsync che a sua volta ci restuirà indietro un oggetto GeoPosition con latitudine e longitudine.
Ora possiamo creare un oggetto Location date le coordinate appena recuperate e fare un SetView sull’oggetto Map creato in precedenza dove ci viene richiesto un oggetto Localtion e il fattore di Zoom che volgliamo.
Ecco un esempio:
Nell’esempio sopra ho aggiunto la possibilità tramite un Tap sulla mappa di impostare un pushpin (come memo.
Ecco il link per scaricare l’esempio.
Buon Divertimento
Maurizio





















