SlideShare ist ein Scribd-Unternehmen logo
1 von 27
Downloaden Sie, um offline zu lesen
ITALIAN WEBINAR #5

COSTRUIRE APPLICAZIONI GEOLOCALIZZATE

Marco Dal Pino
Nokia Developer Champion
Microsoft MVP – Client Development

Senior Mobile Dev @ DPCons
AGENDA
•
•
•
•
•
•

Visualizziamo una mappa
Aggiungiamo le Proprietà
Aggiungere Grafica sulla mappa
Iniziamo a divertirci
Usiamo i Launcher
I launcher di Here e gli URI scheme
© 2012 Nokia. All rights reserved.
© 2012 Microsoft. All rights reserved.

10/16/2013

Nokia Internal Use Only
VISUALIZZIAMO
UNA MAPPA

© 2012 Nokia. All rights reserved.
© 2012 Microsoft. All rights reserved.

10/16/2013

Nokia Internal Use Only
VECCHIO E NUOVO
Bing Maps Control sono supportati per compatibilità ma DEPRECATI
Non esiste più la proprietà ZoomBarVisibility e la classe PushPin.
Sostituite da altre proprietà e modalità di fare «overlay» di grafica

© 2012 Nokia. All rights reserved.
© 2012 Microsoft. All rights reserved.

10/16/2013

Nokia Internal Use Only
CREIAMO LA PRIMA MAPPA
•
•

Aggiungere la capability ID_CAP_MAP al WMAppManifest
Aggiungere la reference all’assembly: Microsoft.Phone.Maps.Controls
Aggiungere la dichiarazione allo XAML:

•
xmlns:maps="clr-namespace:Microsoft.Phone.Maps.Controls;assembly=Microsoft.Phone.Maps“
•

Per aggiungerla via XAML:

© 2012 Nokia. All rights reserved.
© 2012 Microsoft. All rights reserved.

10/16/2013

Nokia Internal Use Only
VIA XAML
<phone:PhoneApplicationPage
...
xmlns:maps="clr-namespace:Microsoft.Phone.Maps.Controls;assembly=Microsoft.Phone.Maps"
...>
...
<!--ContentPanel - place additional content here-->
<Grid x:Name="ContentPanel" Grid.Row="1">
<maps:Map x:Name="MyMap"/>
...
</Grid>
...
</phone:PhoneApplicationPage>

© 2012 Nokia. All rights reserved.
© 2012 Microsoft. All rights reserved.

10/16/2013

Nokia Internal Use Only
VIA CODICE
using Microsoft.Phone.Maps.Controls;
...
public partial class MainPage : PhoneApplicationPage
{
// Constructor
public MainPage()
{
InitializeComponent();
Map MyMap = new Map();
ContentPanel.Children.Add(MyMap);

}
...
}

© 2012 Nokia. All rights reserved.
© 2012 Microsoft. All rights reserved.

10/16/2013

Nokia Internal Use Only
COSTRUIAMO
UNA MAPPA
Demo

© 2012 Nokia. All rights reserved.
© 2012 Microsoft. All rights reserved.

10/16/2013

Nokia Internal Use Only
AGGIUNGIAMO
LE PROPRIETÀ

© 2012 Nokia. All rights reserved.
© 2012 Microsoft. All rights reserved.

10/16/2013

Nokia Internal Use Only
AGGIUNGIAMO LE PROPRIETÀ
Principali proprietà di Map
ZoomLevel: 1..20 livello dello zoom
Heading: direzione (angolare) dove far puntare la parte alta della mappa
Pitch: Inclinazione della mappa
CartographicMode: tipo della mappa (stradale, foto aerea, foto e aerea, mappa «fisica»
ColorMode: Tema light e dark (solo per tipo stradale)
LandmarksEnabled: Mostra oggetti 3D, edifici sopra la mappa
PedestrianFeatureEnabled: mostra dettagli utili ai pedoni (scale passaggi ecc)
© 2012 Nokia. All rights reserved.
© 2012 Microsoft. All rights reserved.

10/16/2013

Nokia Internal Use Only
VIA XAML
<phone:PhoneApplicationPage
...
xmlns:maps = "clr-namespace:Microsoft.Phone.Maps.Controls;assembly=Microsoft.Phone.Maps"
...>
...
<!--ContentPanel - place additional content here-->
<Grid x:Name = "ContentPanel" Grid.Row = "1“ >
<maps:Map x:Name = "MyMap" ZoomLevel = "10" Pitch = "30" CartographicMode = "Hybrid“ />
...
</Grid>
...
</phone:PhoneApplicationPage>

© 2012 Nokia. All rights reserved.
© 2012 Microsoft. All rights reserved.

10/16/2013

Nokia Internal Use Only
VIA CODICE
public partial class MainPage : PhoneApplicationPage
{
...
private void PitchValueChanged(object sender, EventArgs e)
{
if (PitchSlider != null)
{
MyMap.Pitch = PitchSlider.Value;
}
}
}

© 2012 Nokia. All rights reserved.
© 2012 Microsoft. All rights reserved.

10/16/2013

Nokia Internal Use Only
AGGIUNGIAMO
LE PROPRIETÀ
Demo

© 2012 Nokia. All rights reserved.
© 2012 Microsoft. All rights reserved.

10/16/2013

Nokia Internal Use Only
AGGIUNGERE
GRAFICA SULLA
MAPPA

© 2012 Nokia. All rights reserved.
© 2012 Microsoft. All rights reserved.

10/16/2013

Nokia Internal Use Only
AGGIUNGIAMO GRAFICA
•

aggiungere dei marcatori come UIElement (Immagini, poligoni, o anche griglie contenenti altri
UIElement all’interno

© 2012 Nokia. All rights reserved.
© 2012 Microsoft. All rights reserved.

10/16/2013

Nokia Internal Use Only
AGGIUNGERE
GRAFICA SULLA
MAPPA
Demo

© 2012 Nokia. All rights reserved.
© 2012 Microsoft. All rights reserved.

10/16/2013

Nokia Internal Use Only
INIZIAMO A
DIVERTIRCI

© 2012 Nokia. All rights reserved.
© 2012 Microsoft. All rights reserved.

10/16/2013

Nokia Internal Use Only
INIZIAMO A DIVERTIRCI
Posizione corrente
Aggiungere ID_CAP_LOCATION al WMAppManifest
Referenziare System.Devices.Location e Windows.Device.Geolocation (Location
Platform)

Occhio a Geocoordinate VS Lat, Long
geolocator.GetGeopositionAsync

© 2012 Nokia. All rights reserved.
© 2012 Microsoft. All rights reserved.

10/16/2013

Nokia Internal Use Only
INIZIAMO A DIVERTIRCI
Ricerca di un indirizzo
GeocodeQuery
Dato un testo (nome città o indirizzo) ritorna una List<MapLocation>
MapLocation contiene GeoCoordinate e LocationInformation con nome,
descrizione e MapAddress della località

© 2012 Nokia. All rights reserved.
© 2012 Microsoft. All rights reserved.

10/16/2013

Nokia Internal Use Only
USIAMO I
LAUNCHER

© 2012 Nokia. All rights reserved.
© 2012 Microsoft. All rights reserved.

10/16/2013

Nokia Internal Use Only
USIAMO I LAUNCHER
I launcher (dell’SDK standard) sono:
MapDownloaderTask
MapUpdaterTask
MapsDirectionTask
MapsTask
Dipendenza da Microsoft.Phone.Task
E System.Device.Location (solo MapsDirectionTask e MapsTask)
Si istanziano, si assegnano le proprietà e si visualizzano con .Show()

© 2012 Nokia. All rights reserved.
© 2012 Microsoft. All rights reserved.

10/16/2013

Nokia Internal Use Only
USIAMO I
LAUNCHER
Demo

© 2012 Nokia. All rights reserved.
© 2012 Microsoft. All rights reserved.

10/16/2013

Nokia Internal Use Only
USIAMO HERE
LAUNCHER E
URI SCHEME

© 2012 Nokia. All rights reserved.
© 2012 Microsoft. All rights reserved.

10/16/2013

Nokia Internal Use Only
HERE LAUNCHER
Lanciano Here Maps per:
Mostrare itinerario da posizione corrente a posizione selez o destinaz
Ricerca testuale di un posto
Esplorare posti per categoria
Mostrare mappe delle località ad un livello desiderato di zoom
Mostrare località er ID o posizione sulla mappa
Lanciano Here Drive per:
Mostrare itinerario da posizione corrente a posizione selez o destinaz
Lanciano Here Transit per:
Mostrare itinerario da posizione corrente a posizione selez o destinaz con gestione orario

© 2012 Nokia. All rights reserved.
© 2012 Microsoft. All rights reserved.

10/16/2013

Nokia Internal Use Only
USARE GLI URI SCHEME DI HERE
E’ possibile lanciare direttamente le applicazioni tramite URI, passando anche dei parametri
Directions
Explore maps
Drive guidance
Walk guidance
Places
Public transit
Esempio di lancio di Drive
“guidance-drive://v2.0/navigate/destination/?latlon=52.53,13.41&title=Museum“
public-transit://v2.0/search/stops/?appid=<ApplicationIdString>
directions://v2.0/route/destination/?latlon=60.1847853697836,24.5837861392647&origin.latlon=60.3022110555321,25.02
54416931421&appid=<ApplicationIdString>
© 2012 Nokia. All rights reserved.
© 2012 Microsoft. All rights reserved.

10/16/2013

Nokia Internal Use Only
Altri Riferimenti:
HERE Launchers Project
https://github.com/nokia-developer/here-launchers

HERE Launchers Project
http://developer.nokia.com/Resources/Library/Lumia/
#!maps-and-navigation/here-launchers.html

Progetto di esempio
http://bit.ly/16fFMDd

© 2012 Nokia. All rights reserved.
© 2012 Microsoft. All rights reserved.

10/16/2013

Nokia Internal Use Only
Grazie!
@marcodalpino
http://Mobileprog.net

© 2012 Nokia. All rights reserved.
© 2012 Microsoft. All rights reserved.

10/16/2013

Nokia Internal Use Only

Weitere ähnliche Inhalte

Andere mochten auch

Hermano lobo abril 2015
Hermano lobo abril 2015Hermano lobo abril 2015
Hermano lobo abril 2015franfrater
 
Learning in a Social Setting (Social Learning)
Learning in a Social Setting (Social Learning)Learning in a Social Setting (Social Learning)
Learning in a Social Setting (Social Learning)Dr. Robin Yap
 
Vacaciones diapositivas constanza saucedo (1)
Vacaciones diapositivas constanza saucedo (1)Vacaciones diapositivas constanza saucedo (1)
Vacaciones diapositivas constanza saucedo (1)cotiisaucedo3
 
Guia segundo parcial
Guia segundo parcialGuia segundo parcial
Guia segundo parcialLuisa3428
 
Алгоритм, виды алгоритмов, способы записи алгоритмов, составление алгоритмов
Алгоритм, виды алгоритмов, способы записи алгоритмов, составление алгоритмов Алгоритм, виды алгоритмов, способы записи алгоритмов, составление алгоритмов
Алгоритм, виды алгоритмов, способы записи алгоритмов, составление алгоритмов EmmachkaBabul
 

Andere mochten auch (12)

Hermano lobo abril 2015
Hermano lobo abril 2015Hermano lobo abril 2015
Hermano lobo abril 2015
 
boek 2de druk
boek 2de drukboek 2de druk
boek 2de druk
 
Tecnologia
Tecnologia Tecnologia
Tecnologia
 
Learning in a Social Setting (Social Learning)
Learning in a Social Setting (Social Learning)Learning in a Social Setting (Social Learning)
Learning in a Social Setting (Social Learning)
 
gold
goldgold
gold
 
Vacaciones diapositivas constanza saucedo (1)
Vacaciones diapositivas constanza saucedo (1)Vacaciones diapositivas constanza saucedo (1)
Vacaciones diapositivas constanza saucedo (1)
 
Sociales
Sociales Sociales
Sociales
 
Saisine
SaisineSaisine
Saisine
 
O nascimento de Jesus
O nascimento de JesusO nascimento de Jesus
O nascimento de Jesus
 
Guia segundo parcial
Guia segundo parcialGuia segundo parcial
Guia segundo parcial
 
Ingles
InglesIngles
Ingles
 
Алгоритм, виды алгоритмов, способы записи алгоритмов, составление алгоритмов
Алгоритм, виды алгоритмов, способы записи алгоритмов, составление алгоритмов Алгоритм, виды алгоритмов, способы записи алгоритмов, составление алгоритмов
Алгоритм, виды алгоритмов, способы записи алгоритмов, составление алгоритмов
 

Ähnlich wie Lo Sviluppo di Applicazione Geolocalizzazione

Le basi per lo sviluppo su Windows Phone tool, SDK, il primo progetto
 Le basi per lo sviluppo su Windows Phone tool, SDK, il primo progetto Le basi per lo sviluppo su Windows Phone tool, SDK, il primo progetto
Le basi per lo sviluppo su Windows Phone tool, SDK, il primo progettoMicrosoft Mobile Developer
 
DrupalGap: crea una app Android (ed iOS) con Drupal, Drupalgap ed Apache Cordova
DrupalGap: crea una app Android (ed iOS) con Drupal, Drupalgap ed Apache CordovaDrupalGap: crea una app Android (ed iOS) con Drupal, Drupalgap ed Apache Cordova
DrupalGap: crea una app Android (ed iOS) con Drupal, Drupalgap ed Apache CordovaDrupalDay
 
Applicazioni mobili: strumenti, costi soluzioni e peformance
Applicazioni mobili: strumenti, costi soluzioni e peformanceApplicazioni mobili: strumenti, costi soluzioni e peformance
Applicazioni mobili: strumenti, costi soluzioni e peformanceDiego La Monica
 
Augmented Reality: guardare il mondo da un altro punto di vista
Augmented Reality: guardare il mondo da un altro punto di vistaAugmented Reality: guardare il mondo da un altro punto di vista
Augmented Reality: guardare il mondo da un altro punto di vistaCodemotion
 
Drupal Day 2011 - MobileD!
Drupal Day 2011 - MobileD!Drupal Day 2011 - MobileD!
Drupal Day 2011 - MobileD!DrupalDay
 
Sviluppo di applicazioni mobile con PhoneGap
Sviluppo di applicazioni mobile con PhoneGapSviluppo di applicazioni mobile con PhoneGap
Sviluppo di applicazioni mobile con PhoneGapDotNetMarche
 
MobileDevCamp2012 - Android
MobileDevCamp2012 - AndroidMobileDevCamp2012 - Android
MobileDevCamp2012 - Androidmobiledevcamp
 
Presentarsi sul mercato globale con app di successo
Presentarsi sul mercato globale con app di successoPresentarsi sul mercato globale con app di successo
Presentarsi sul mercato globale con app di successoDiego La Monica
 
Le novità di Ionic 4- Il framework basato su Angular per sviluppare applicazi...
Le novità di Ionic 4- Il framework basato su Angular per sviluppare applicazi...Le novità di Ionic 4- Il framework basato su Angular per sviluppare applicazi...
Le novità di Ionic 4- Il framework basato su Angular per sviluppare applicazi...Antonio Gallo
 
GWT Development for Handheld Devices
GWT Development for Handheld DevicesGWT Development for Handheld Devices
GWT Development for Handheld DevicesGWTcon
 
Flutter: Google alla conquista del mobile multi piattaforma
Flutter: Google alla conquista del mobile multi piattaformaFlutter: Google alla conquista del mobile multi piattaforma
Flutter: Google alla conquista del mobile multi piattaformaCommit University
 
Mobile platforms development overview
Mobile platforms development overviewMobile platforms development overview
Mobile platforms development overviewAlfredo Morresi
 
Alessandro Forte - Piattaforma Android
Alessandro Forte - Piattaforma AndroidAlessandro Forte - Piattaforma Android
Alessandro Forte - Piattaforma AndroidAlessandro Forte
 
Presentarsi sul mercato globale con app di successo
Presentarsi sul mercato globale con app di successoPresentarsi sul mercato globale con app di successo
Presentarsi sul mercato globale con app di successoDiego La Monica
 
SkyMedia: La tecnologia al servizio dell'intrattenimento
SkyMedia: La tecnologia al servizio dell'intrattenimentoSkyMedia: La tecnologia al servizio dell'intrattenimento
SkyMedia: La tecnologia al servizio dell'intrattenimentoMavigex srl
 

Ähnlich wie Lo Sviluppo di Applicazione Geolocalizzazione (20)

Mobile senza frontiere
Mobile senza frontiereMobile senza frontiere
Mobile senza frontiere
 
Le basi per lo sviluppo su Windows Phone tool, SDK, il primo progetto
 Le basi per lo sviluppo su Windows Phone tool, SDK, il primo progetto Le basi per lo sviluppo su Windows Phone tool, SDK, il primo progetto
Le basi per lo sviluppo su Windows Phone tool, SDK, il primo progetto
 
DrupalGap: crea una app Android (ed iOS) con Drupal, Drupalgap ed Apache Cordova
DrupalGap: crea una app Android (ed iOS) con Drupal, Drupalgap ed Apache CordovaDrupalGap: crea una app Android (ed iOS) con Drupal, Drupalgap ed Apache Cordova
DrupalGap: crea una app Android (ed iOS) con Drupal, Drupalgap ed Apache Cordova
 
Android vs iOS
Android vs iOSAndroid vs iOS
Android vs iOS
 
Applicazioni mobili: strumenti, costi soluzioni e peformance
Applicazioni mobili: strumenti, costi soluzioni e peformanceApplicazioni mobili: strumenti, costi soluzioni e peformance
Applicazioni mobili: strumenti, costi soluzioni e peformance
 
Augmented Reality: guardare il mondo da un altro punto di vista
Augmented Reality: guardare il mondo da un altro punto di vistaAugmented Reality: guardare il mondo da un altro punto di vista
Augmented Reality: guardare il mondo da un altro punto di vista
 
Android Workshop
Android WorkshopAndroid Workshop
Android Workshop
 
Drupal Day 2011 - MobileD!
Drupal Day 2011 - MobileD!Drupal Day 2011 - MobileD!
Drupal Day 2011 - MobileD!
 
Sviluppo di applicazioni mobile con PhoneGap
Sviluppo di applicazioni mobile con PhoneGapSviluppo di applicazioni mobile con PhoneGap
Sviluppo di applicazioni mobile con PhoneGap
 
MobileDevCamp2012 - Android
MobileDevCamp2012 - AndroidMobileDevCamp2012 - Android
MobileDevCamp2012 - Android
 
Sviluppare applicazioni Domino Web per dispositivi Mobili
Sviluppare applicazioni Domino Web per dispositivi MobiliSviluppare applicazioni Domino Web per dispositivi Mobili
Sviluppare applicazioni Domino Web per dispositivi Mobili
 
Presentarsi sul mercato globale con app di successo
Presentarsi sul mercato globale con app di successoPresentarsi sul mercato globale con app di successo
Presentarsi sul mercato globale con app di successo
 
Le novità di Ionic 4- Il framework basato su Angular per sviluppare applicazi...
Le novità di Ionic 4- Il framework basato su Angular per sviluppare applicazi...Le novità di Ionic 4- Il framework basato su Angular per sviluppare applicazi...
Le novità di Ionic 4- Il framework basato su Angular per sviluppare applicazi...
 
GWT Development for Handheld Devices
GWT Development for Handheld DevicesGWT Development for Handheld Devices
GWT Development for Handheld Devices
 
Flutter: Google alla conquista del mobile multi piattaforma
Flutter: Google alla conquista del mobile multi piattaformaFlutter: Google alla conquista del mobile multi piattaforma
Flutter: Google alla conquista del mobile multi piattaforma
 
Barrotta
BarrottaBarrotta
Barrotta
 
Mobile platforms development overview
Mobile platforms development overviewMobile platforms development overview
Mobile platforms development overview
 
Alessandro Forte - Piattaforma Android
Alessandro Forte - Piattaforma AndroidAlessandro Forte - Piattaforma Android
Alessandro Forte - Piattaforma Android
 
Presentarsi sul mercato globale con app di successo
Presentarsi sul mercato globale con app di successoPresentarsi sul mercato globale con app di successo
Presentarsi sul mercato globale con app di successo
 
SkyMedia: La tecnologia al servizio dell'intrattenimento
SkyMedia: La tecnologia al servizio dell'intrattenimentoSkyMedia: La tecnologia al servizio dell'intrattenimento
SkyMedia: La tecnologia al servizio dell'intrattenimento
 

Mehr von Microsoft Mobile Developer

Intro to Nokia X software platform 2.0 and tools
Intro to Nokia X software platform 2.0 and toolsIntro to Nokia X software platform 2.0 and tools
Intro to Nokia X software platform 2.0 and toolsMicrosoft Mobile Developer
 
Location based services for Nokia X and Nokia Asha using Geo2tag
Location based services for Nokia X and Nokia Asha using Geo2tagLocation based services for Nokia X and Nokia Asha using Geo2tag
Location based services for Nokia X and Nokia Asha using Geo2tagMicrosoft Mobile Developer
 
Lumia App Labs: Lessons learned from 50 windows phone 8 design consultations
Lumia App Labs: Lessons learned from 50 windows phone 8 design consultationsLumia App Labs: Lessons learned from 50 windows phone 8 design consultations
Lumia App Labs: Lessons learned from 50 windows phone 8 design consultationsMicrosoft Mobile Developer
 
Windows Phone 8 speech: parliamo con la nostra app
Windows Phone 8 speech: parliamo con la nostra appWindows Phone 8 speech: parliamo con la nostra app
Windows Phone 8 speech: parliamo con la nostra appMicrosoft Mobile Developer
 
La pubblicazione di un'applicazione sullo store
La pubblicazione di un'applicazione sullo storeLa pubblicazione di un'applicazione sullo store
La pubblicazione di un'applicazione sullo storeMicrosoft Mobile Developer
 
Il pattern mvvm come strutturare al meglio il vostro progetto
Il pattern mvvm come strutturare al meglio il vostro progettoIl pattern mvvm come strutturare al meglio il vostro progetto
Il pattern mvvm come strutturare al meglio il vostro progettoMicrosoft Mobile Developer
 

Mehr von Microsoft Mobile Developer (20)

Intro to Nokia X software platform 2.0 and tools
Intro to Nokia X software platform 2.0 and toolsIntro to Nokia X software platform 2.0 and tools
Intro to Nokia X software platform 2.0 and tools
 
Lumia App Labs: Lumia SensorCore SDK beta
Lumia App Labs: Lumia SensorCore SDK betaLumia App Labs: Lumia SensorCore SDK beta
Lumia App Labs: Lumia SensorCore SDK beta
 
Nokia Asha from idea to app - Imaging
Nokia Asha from idea to app - ImagingNokia Asha from idea to app - Imaging
Nokia Asha from idea to app - Imaging
 
Healthcare apps for Nokia X and Nokia Asha
Healthcare apps for Nokia X and Nokia AshaHealthcare apps for Nokia X and Nokia Asha
Healthcare apps for Nokia X and Nokia Asha
 
Push notifications on Nokia X
Push notifications on Nokia XPush notifications on Nokia X
Push notifications on Nokia X
 
DIY Nokia Asha app usability studies
DIY Nokia Asha app usability studiesDIY Nokia Asha app usability studies
DIY Nokia Asha app usability studies
 
Lessons learned from Nokia X UI reviews
Lessons learned from Nokia X UI reviewsLessons learned from Nokia X UI reviews
Lessons learned from Nokia X UI reviews
 
Location based services for Nokia X and Nokia Asha using Geo2tag
Location based services for Nokia X and Nokia Asha using Geo2tagLocation based services for Nokia X and Nokia Asha using Geo2tag
Location based services for Nokia X and Nokia Asha using Geo2tag
 
HERE Maps for the Nokia X platform
HERE Maps for the Nokia X platformHERE Maps for the Nokia X platform
HERE Maps for the Nokia X platform
 
Nokia In-App Payment - UX considerations
Nokia In-App Payment - UX considerationsNokia In-App Payment - UX considerations
Nokia In-App Payment - UX considerations
 
Introduction to Nokia Asha SDK 1.2 (beta)
Introduction to Nokia Asha SDK 1.2 (beta)Introduction to Nokia Asha SDK 1.2 (beta)
Introduction to Nokia Asha SDK 1.2 (beta)
 
UX considerations when porting to Nokia X
UX considerations when porting to Nokia XUX considerations when porting to Nokia X
UX considerations when porting to Nokia X
 
Kids' games and educational app design
Kids' games and educational app designKids' games and educational app design
Kids' games and educational app design
 
Nokia X: opportunities for developers
Nokia X: opportunities for developersNokia X: opportunities for developers
Nokia X: opportunities for developers
 
Lumia App Labs: Nokia Imaging SDK 1.1
Lumia App Labs: Nokia Imaging SDK 1.1Lumia App Labs: Nokia Imaging SDK 1.1
Lumia App Labs: Nokia Imaging SDK 1.1
 
Intro to Nokia X software platform and tools
Intro to Nokia X software platform and toolsIntro to Nokia X software platform and tools
Intro to Nokia X software platform and tools
 
Lumia App Labs: Lessons learned from 50 windows phone 8 design consultations
Lumia App Labs: Lessons learned from 50 windows phone 8 design consultationsLumia App Labs: Lessons learned from 50 windows phone 8 design consultations
Lumia App Labs: Lessons learned from 50 windows phone 8 design consultations
 
Windows Phone 8 speech: parliamo con la nostra app
Windows Phone 8 speech: parliamo con la nostra appWindows Phone 8 speech: parliamo con la nostra app
Windows Phone 8 speech: parliamo con la nostra app
 
La pubblicazione di un'applicazione sullo store
La pubblicazione di un'applicazione sullo storeLa pubblicazione di un'applicazione sullo store
La pubblicazione di un'applicazione sullo store
 
Il pattern mvvm come strutturare al meglio il vostro progetto
Il pattern mvvm come strutturare al meglio il vostro progettoIl pattern mvvm come strutturare al meglio il vostro progetto
Il pattern mvvm come strutturare al meglio il vostro progetto
 

Lo Sviluppo di Applicazione Geolocalizzazione

  • 1. ITALIAN WEBINAR #5 COSTRUIRE APPLICAZIONI GEOLOCALIZZATE Marco Dal Pino Nokia Developer Champion Microsoft MVP – Client Development Senior Mobile Dev @ DPCons
  • 2. AGENDA • • • • • • Visualizziamo una mappa Aggiungiamo le Proprietà Aggiungere Grafica sulla mappa Iniziamo a divertirci Usiamo i Launcher I launcher di Here e gli URI scheme © 2012 Nokia. All rights reserved. © 2012 Microsoft. All rights reserved. 10/16/2013 Nokia Internal Use Only
  • 3. VISUALIZZIAMO UNA MAPPA © 2012 Nokia. All rights reserved. © 2012 Microsoft. All rights reserved. 10/16/2013 Nokia Internal Use Only
  • 4. VECCHIO E NUOVO Bing Maps Control sono supportati per compatibilità ma DEPRECATI Non esiste più la proprietà ZoomBarVisibility e la classe PushPin. Sostituite da altre proprietà e modalità di fare «overlay» di grafica © 2012 Nokia. All rights reserved. © 2012 Microsoft. All rights reserved. 10/16/2013 Nokia Internal Use Only
  • 5. CREIAMO LA PRIMA MAPPA • • Aggiungere la capability ID_CAP_MAP al WMAppManifest Aggiungere la reference all’assembly: Microsoft.Phone.Maps.Controls Aggiungere la dichiarazione allo XAML: • xmlns:maps="clr-namespace:Microsoft.Phone.Maps.Controls;assembly=Microsoft.Phone.Maps“ • Per aggiungerla via XAML: © 2012 Nokia. All rights reserved. © 2012 Microsoft. All rights reserved. 10/16/2013 Nokia Internal Use Only
  • 6. VIA XAML <phone:PhoneApplicationPage ... xmlns:maps="clr-namespace:Microsoft.Phone.Maps.Controls;assembly=Microsoft.Phone.Maps" ...> ... <!--ContentPanel - place additional content here--> <Grid x:Name="ContentPanel" Grid.Row="1"> <maps:Map x:Name="MyMap"/> ... </Grid> ... </phone:PhoneApplicationPage> © 2012 Nokia. All rights reserved. © 2012 Microsoft. All rights reserved. 10/16/2013 Nokia Internal Use Only
  • 7. VIA CODICE using Microsoft.Phone.Maps.Controls; ... public partial class MainPage : PhoneApplicationPage { // Constructor public MainPage() { InitializeComponent(); Map MyMap = new Map(); ContentPanel.Children.Add(MyMap); } ... } © 2012 Nokia. All rights reserved. © 2012 Microsoft. All rights reserved. 10/16/2013 Nokia Internal Use Only
  • 8. COSTRUIAMO UNA MAPPA Demo © 2012 Nokia. All rights reserved. © 2012 Microsoft. All rights reserved. 10/16/2013 Nokia Internal Use Only
  • 9. AGGIUNGIAMO LE PROPRIETÀ © 2012 Nokia. All rights reserved. © 2012 Microsoft. All rights reserved. 10/16/2013 Nokia Internal Use Only
  • 10. AGGIUNGIAMO LE PROPRIETÀ Principali proprietà di Map ZoomLevel: 1..20 livello dello zoom Heading: direzione (angolare) dove far puntare la parte alta della mappa Pitch: Inclinazione della mappa CartographicMode: tipo della mappa (stradale, foto aerea, foto e aerea, mappa «fisica» ColorMode: Tema light e dark (solo per tipo stradale) LandmarksEnabled: Mostra oggetti 3D, edifici sopra la mappa PedestrianFeatureEnabled: mostra dettagli utili ai pedoni (scale passaggi ecc) © 2012 Nokia. All rights reserved. © 2012 Microsoft. All rights reserved. 10/16/2013 Nokia Internal Use Only
  • 11. VIA XAML <phone:PhoneApplicationPage ... xmlns:maps = "clr-namespace:Microsoft.Phone.Maps.Controls;assembly=Microsoft.Phone.Maps" ...> ... <!--ContentPanel - place additional content here--> <Grid x:Name = "ContentPanel" Grid.Row = "1“ > <maps:Map x:Name = "MyMap" ZoomLevel = "10" Pitch = "30" CartographicMode = "Hybrid“ /> ... </Grid> ... </phone:PhoneApplicationPage> © 2012 Nokia. All rights reserved. © 2012 Microsoft. All rights reserved. 10/16/2013 Nokia Internal Use Only
  • 12. VIA CODICE public partial class MainPage : PhoneApplicationPage { ... private void PitchValueChanged(object sender, EventArgs e) { if (PitchSlider != null) { MyMap.Pitch = PitchSlider.Value; } } } © 2012 Nokia. All rights reserved. © 2012 Microsoft. All rights reserved. 10/16/2013 Nokia Internal Use Only
  • 13. AGGIUNGIAMO LE PROPRIETÀ Demo © 2012 Nokia. All rights reserved. © 2012 Microsoft. All rights reserved. 10/16/2013 Nokia Internal Use Only
  • 14. AGGIUNGERE GRAFICA SULLA MAPPA © 2012 Nokia. All rights reserved. © 2012 Microsoft. All rights reserved. 10/16/2013 Nokia Internal Use Only
  • 15. AGGIUNGIAMO GRAFICA • aggiungere dei marcatori come UIElement (Immagini, poligoni, o anche griglie contenenti altri UIElement all’interno © 2012 Nokia. All rights reserved. © 2012 Microsoft. All rights reserved. 10/16/2013 Nokia Internal Use Only
  • 16. AGGIUNGERE GRAFICA SULLA MAPPA Demo © 2012 Nokia. All rights reserved. © 2012 Microsoft. All rights reserved. 10/16/2013 Nokia Internal Use Only
  • 17. INIZIAMO A DIVERTIRCI © 2012 Nokia. All rights reserved. © 2012 Microsoft. All rights reserved. 10/16/2013 Nokia Internal Use Only
  • 18. INIZIAMO A DIVERTIRCI Posizione corrente Aggiungere ID_CAP_LOCATION al WMAppManifest Referenziare System.Devices.Location e Windows.Device.Geolocation (Location Platform) Occhio a Geocoordinate VS Lat, Long geolocator.GetGeopositionAsync © 2012 Nokia. All rights reserved. © 2012 Microsoft. All rights reserved. 10/16/2013 Nokia Internal Use Only
  • 19. INIZIAMO A DIVERTIRCI Ricerca di un indirizzo GeocodeQuery Dato un testo (nome città o indirizzo) ritorna una List<MapLocation> MapLocation contiene GeoCoordinate e LocationInformation con nome, descrizione e MapAddress della località © 2012 Nokia. All rights reserved. © 2012 Microsoft. All rights reserved. 10/16/2013 Nokia Internal Use Only
  • 20. USIAMO I LAUNCHER © 2012 Nokia. All rights reserved. © 2012 Microsoft. All rights reserved. 10/16/2013 Nokia Internal Use Only
  • 21. USIAMO I LAUNCHER I launcher (dell’SDK standard) sono: MapDownloaderTask MapUpdaterTask MapsDirectionTask MapsTask Dipendenza da Microsoft.Phone.Task E System.Device.Location (solo MapsDirectionTask e MapsTask) Si istanziano, si assegnano le proprietà e si visualizzano con .Show() © 2012 Nokia. All rights reserved. © 2012 Microsoft. All rights reserved. 10/16/2013 Nokia Internal Use Only
  • 22. USIAMO I LAUNCHER Demo © 2012 Nokia. All rights reserved. © 2012 Microsoft. All rights reserved. 10/16/2013 Nokia Internal Use Only
  • 23. USIAMO HERE LAUNCHER E URI SCHEME © 2012 Nokia. All rights reserved. © 2012 Microsoft. All rights reserved. 10/16/2013 Nokia Internal Use Only
  • 24. HERE LAUNCHER Lanciano Here Maps per: Mostrare itinerario da posizione corrente a posizione selez o destinaz Ricerca testuale di un posto Esplorare posti per categoria Mostrare mappe delle località ad un livello desiderato di zoom Mostrare località er ID o posizione sulla mappa Lanciano Here Drive per: Mostrare itinerario da posizione corrente a posizione selez o destinaz Lanciano Here Transit per: Mostrare itinerario da posizione corrente a posizione selez o destinaz con gestione orario © 2012 Nokia. All rights reserved. © 2012 Microsoft. All rights reserved. 10/16/2013 Nokia Internal Use Only
  • 25. USARE GLI URI SCHEME DI HERE E’ possibile lanciare direttamente le applicazioni tramite URI, passando anche dei parametri Directions Explore maps Drive guidance Walk guidance Places Public transit Esempio di lancio di Drive “guidance-drive://v2.0/navigate/destination/?latlon=52.53,13.41&title=Museum“ public-transit://v2.0/search/stops/?appid=<ApplicationIdString> directions://v2.0/route/destination/?latlon=60.1847853697836,24.5837861392647&origin.latlon=60.3022110555321,25.02 54416931421&appid=<ApplicationIdString> © 2012 Nokia. All rights reserved. © 2012 Microsoft. All rights reserved. 10/16/2013 Nokia Internal Use Only
  • 26. Altri Riferimenti: HERE Launchers Project https://github.com/nokia-developer/here-launchers HERE Launchers Project http://developer.nokia.com/Resources/Library/Lumia/ #!maps-and-navigation/here-launchers.html Progetto di esempio http://bit.ly/16fFMDd © 2012 Nokia. All rights reserved. © 2012 Microsoft. All rights reserved. 10/16/2013 Nokia Internal Use Only
  • 27. Grazie! @marcodalpino http://Mobileprog.net © 2012 Nokia. All rights reserved. © 2012 Microsoft. All rights reserved. 10/16/2013 Nokia Internal Use Only