Usare Bing Maps SDK nelle Windows Store app in XAML

di Alessio Leoncini, in WinRT,

Come più volte abbiamo introdotto nei nostri articoli, la versatilità di Windows 8 è essere un sistema operativo per desktop ma anche quella di orientarsi molto all'utilizzo su tablet. Questo si riflette direttamente su WinRT, il framework che abbiamo a disposizione per scrivere le Windows Store application. Il tablet è un dispositivo portabile e come tale può essere trasportato con se durante tutti gli spostamenti. Questo aspetto diventa una potenzialità per arricchire le nostre app grazie a API di geolocalizzazione in accoppiamento all'uso di mappe geografiche.

In stile Microsoft, in parallelo al framework ci è stato messo a disposizione un SDK per integrare le mappe Bing con un insieme di funzionalità molto interessanti e facili da usare.

Vediamo come.

Bing Maps SDK: il controllo Map

Il primo step da compiere è quello di scaricare l'SDK dal sito ufficiale, oppure di installarlo direttamente attraverso il pannello Extensions and Updates raggiungibile dal menu Tools.

Dopo l'installazione possiamo aggiungere le reference ad un nostro progetto, come possiamo vedere nell'immagine seguente.

Poichè la libreria è un controllo nativo è dipendente da VCLibs, il Visual C++ runtime appunto. La reference viene aggiunta anche se non lo selezioniamo esplicitamente.

I template di base dei progetti Windows Store app hanno l'impostazione di compilazione a Any CPU come platform, in modo che sia il JIT a caricare il codice conforme alla piattaforma che richiede l'esecuzione. Poichè c'è bisogno di codice nativo e in C++ non abbiamo questa possibilità, per poter compilare il nostro progetto dobbiamo scegliere esplicitamente una delle piattaforme x86, x64 o ARM.

Questo significa che se vogliamo rendere disponibile la nostra applicazione a tutte e tre le piattaforme dobbiamo preparare tre pacchetti separati e pubblicarli nello store.

Dopo questa operazione possiamo usare il controllo Map dichiarando come di consueto il relativo namespace xaml.

Esempio - XAML
xmlns:maps="using:Bing.Maps"

<maps:Map x:Name="map"
            ZoomLevel="16"
            ShowNavigationBar="True"
            Credentials="">
    <maps:Map.Center>
        <maps:Location Latitude="40.759149"
                        Longitude="-73.9850" />
    </maps:Map.Center>
    <maps:Map.Children>
        <maps:Pushpin Text="NYC" Background="GreenYellow">
            <maps:MapLayer.Position>
                <maps:Location Latitude="40.759149"
                                Longitude="-73.9850" />
            </maps:MapLayer.Position>
        </maps:Pushpin>
    </maps:Map.Children>
</maps:Map>

Il codice dell'esempio ci presenta già molte caratteristiche e funzioni di base del controllo: Center, Children, Pushpin, Location, MapLayer e soprattutto Credentials.

Nell'immagine, infatti, possiamo vedere come abbiamo centrato la mappa alle coordinate volute con l'oggetto Location, in corrispondenza di cui abbiamo aggiunto un oggetto grafico Pushpin di colore verde. Ma sopra questi elementi appare in primo piano un messaggio che ci informa che le credenziali immesse non sono valide, vediamo cosa significa e come dobbiamo gestire queste credenziali.

3 pagine in totale: 1 2 3
Contenuti dell'articolo

Commenti

Visualizza/aggiungi commenti

| Condividi su: Twitter, Facebook, LinkedIn

Per inserire un commento, devi avere un account.

Fai il login e torna a questa pagina, oppure registrati alla nostra community.

Approfondimenti

Top Ten Articoli

Articoli via e-mail

Iscriviti alla nostra newsletter nuoviarticoli per ricevere via e-mail le notifiche!

In primo piano

I più letti di oggi

In evidenza

Misc