Nokia maps
-
Upload
nicolo-carandini -
Category
Technology
-
view
240 -
download
4
Transcript of Nokia maps
![Page 1: Nokia maps](https://reader036.fdocuments.us/reader036/viewer/2022062405/55810132d8b42a9d198b5152/html5/thumbnails/1.jpg)
WPReborn 2013Orientarsi in un'applicazione: Nokia Maps
@dnlombardia#wpreborn
Nicolò [email protected]/Nick60@TPCWare
![Page 2: Nokia maps](https://reader036.fdocuments.us/reader036/viewer/2022062405/55810132d8b42a9d198b5152/html5/thumbnails/2.jpg)
Location Service API
Map Control and Services
Location Tracking in Background
Agenda
![Page 3: Nokia maps](https://reader036.fdocuments.us/reader036/viewer/2022062405/55810132d8b42a9d198b5152/html5/thumbnails/3.jpg)
Location Service API
![Page 4: Nokia maps](https://reader036.fdocuments.us/reader036/viewer/2022062405/55810132d8b42a9d198b5152/html5/thumbnails/4.jpg)
Location Service per Windows Phone 8
.Net API
WinRT API
Track location changesDesired accuracy Movement thresholdPositionChangedStatusChangedStart & Stop
A-GPS
Wi-Fi
Cell
Periodic and distance based trackingDesired accuracy in metersSingle location requestCaching and timeoutPosition source
![Page 5: Nokia maps](https://reader036.fdocuments.us/reader036/viewer/2022062405/55810132d8b42a9d198b5152/html5/thumbnails/5.jpg)
Principali novità• Tracking periodico e per variazione di
posizione• Precisione richiesta (in metri)• Timeout• Singola richiesta (senza tracking)• Sorgente (GPS / Wi-Fi / Cell)
![Page 6: Nokia maps](https://reader036.fdocuments.us/reader036/viewer/2022062405/55810132d8b42a9d198b5152/html5/thumbnails/6.jpg)
Richiesta singola (senza tracking)public async Task<Geocoordinate> GetSinglePositionAsync(){ Geolocator geolocator = new Geolocator(); geolocator.DesiredAccuracyInMeters = 10;
Geoposition geoposition = await geolocator.GetGeopositionAsync(TimeSpan.FromMinutes(1), TimeSpan.FromSeconds(30));
return geoposition.Coordinate;}
![Page 7: Nokia maps](https://reader036.fdocuments.us/reader036/viewer/2022062405/55810132d8b42a9d198b5152/html5/thumbnails/7.jpg)
Posizione (singola richiesta)Demo
![Page 8: Nokia maps](https://reader036.fdocuments.us/reader036/viewer/2022062405/55810132d8b42a9d198b5152/html5/thumbnails/8.jpg)
Location Trackingprivate Geolocator trackingGeolocator;private TypedEventHandler<Geolocator, PositionChangedEventArgs> positionChangedHandler; public void StartTracking(){ trackingGeolocator = new Geolocator();
trackingGeolocator.MovementThreshold = 100; // or trackingGeolocator.ReportInterval = (uint)TimeSpan.FromSeconds(30).TotalMilliseconds;
positionChangedHandler = (geolocator, eventArgs) => {}; trackingGeolocator.PositionChanged += positionChangedHandler;}public void StopTracking(){ trackingGeolocator.PositionChanged -= positionChangedHandler;}
![Page 9: Nokia maps](https://reader036.fdocuments.us/reader036/viewer/2022062405/55810132d8b42a9d198b5152/html5/thumbnails/9.jpg)
Best Practice
Se non vi serve il tracking, usate le richieste singole
Utilizzate il caching per avere maggior velocità di risposta
Trovate il giusto compromesso tra precisione e timeout
Verificate che il Wi-Fi sia acceso, e in caso contrario suggerite all’utente di farlo
![Page 10: Nokia maps](https://reader036.fdocuments.us/reader036/viewer/2022062405/55810132d8b42a9d198b5152/html5/thumbnails/10.jpg)
Map Control and Services
![Page 11: Nokia maps](https://reader036.fdocuments.us/reader036/viewer/2022062405/55810132d8b42a9d198b5152/html5/thumbnails/11.jpg)
Windows Phone 8 Map Control
Nokia Mapping DataPiù di 110 paesi, mappe vettoriali 3D, nuovi modi di visualizzazione
Offline MapsScaricabili dagli utenti, disponibilità di task di download e update
Map ControlVeloce e reattivo, consente la rotazione e l’inclinazione della mappa
Route DisplayFacilità di visualizzazione delle Route calcolate con i Maps Service
![Page 12: Nokia maps](https://reader036.fdocuments.us/reader036/viewer/2022062405/55810132d8b42a9d198b5152/html5/thumbnails/12.jpg)
Windows Phone Maps Services
Geocoding Latitudine, Longitudine -> Indirizzo
Reverse Geocoding Indirizzo -> Latitudine, Longitudine
RoutingRouteQuery, Route, RouteLeg, RouteManeuver
![Page 13: Nokia maps](https://reader036.fdocuments.us/reader036/viewer/2022062405/55810132d8b42a9d198b5152/html5/thumbnails/13.jpg)
Windows Phone Map and Services API
Map Control
Service API
Map ToolkitExtensions
ID_CAP_MAP and ID_CAP_LOCATION Developer Token assegnato tramite il Windows Phone Developer Center
.Net
Windows Phone Toolkit:
MapsUserControlPushPinToGeoCoordinate
![Page 14: Nokia maps](https://reader036.fdocuments.us/reader036/viewer/2022062405/55810132d8b42a9d198b5152/html5/thumbnails/14.jpg)
Nuovi Launcher
In Windows Phone 8 ci sono nuovi Maps launcher:• MapsTask• MapsDirectionsTask• MapDownloaderTask• MapUpdaterTask
![Page 15: Nokia maps](https://reader036.fdocuments.us/reader036/viewer/2022062405/55810132d8b42a9d198b5152/html5/thumbnails/15.jpg)
Windows Phone 7.x Maps API
Nelle applicazioni Windows Phone 7.x si continua ad usare:• Maps Control• Bing Maps Task
Nelle applicazioni Windows Phone 8 l’uso è deprecato.L’unico scenario in cui può aver senso utilizzarli è l’aggiornamento alla versione 8 di un’applicazione 7.x
![Page 16: Nokia maps](https://reader036.fdocuments.us/reader036/viewer/2022062405/55810132d8b42a9d198b5152/html5/thumbnails/16.jpg)
Location Tracking in Background
![Page 17: Nokia maps](https://reader036.fdocuments.us/reader036/viewer/2022062405/55810132d8b42a9d198b5152/html5/thumbnails/17.jpg)
Location Tracking in BackgroundAbilita il tracking anche quando la nostra App viene disattivata
App manifest:<defaultTask Name="_default" NavigationPage="MainPage.xaml" > <BackgroundExecution> <ExecutionType Name="LocationTracking" /> </BackgroundExecution ></defaultTask>
17
![Page 18: Nokia maps](https://reader036.fdocuments.us/reader036/viewer/2022062405/55810132d8b42a9d198b5152/html5/thumbnails/18.jpg)
Limiti dell’esecuzione in Background
Solo applicazioni XAML
Un’applicazione alla volta può fare background tracking
Le App hanno accesso limitato alle risorse di sistema
18
![Page 19: Nokia maps](https://reader036.fdocuments.us/reader036/viewer/2022062405/55810132d8b42a9d198b5152/html5/thumbnails/19.jpg)
Resource ManagementL’uso della CPU è limitato al 10%L’applicazione che gira in background ha accesso a:• Location• Audio\Speech• Network• Storage• Sensori
Nessun accesso a:• Camera e Microfono• ShellTile.Update
![Page 20: Nokia maps](https://reader036.fdocuments.us/reader036/viewer/2022062405/55810132d8b42a9d198b5152/html5/thumbnails/20.jpg)
User Awareness and ControlCapability:ID_CAP_LOCATION
L’utente può chiudere l’App che sta girando in background
L’utente può disabilitare la funzionalità di background tracking di ciascuna App
![Page 21: Nokia maps](https://reader036.fdocuments.us/reader036/viewer/2022062405/55810132d8b42a9d198b5152/html5/thumbnails/21.jpg)
DeactivationL’ App smette di girare in background se:• L’ App ferma il tracking• L’utente disabilita i Location Service• Sono passate almeno 4 ore dall’ultima volta in cui l’App è stata in
foreground• Il Battery Saver è ON• Un’altra App che fa uso di Location Tracking va in background• C’è poca memoria
Quando l’App viene disattivata viene fornito il motivo:• DeactivationReason
E’ fondamentale avvertire l’utente.
![Page 22: Nokia maps](https://reader036.fdocuments.us/reader036/viewer/2022062405/55810132d8b42a9d198b5152/html5/thumbnails/22.jpg)
App Lifecycle Events
PhoneApplicationServiceLaunchingDeactivated
RunningInBackgroundActivatedClosed
![Page 23: Nokia maps](https://reader036.fdocuments.us/reader036/viewer/2022062405/55810132d8b42a9d198b5152/html5/thumbnails/23.jpg)
Application Lifecycle
running
deactivated
suspended
activated
tombstoned
Activ
ated
deactivated
Deactivated
![Page 24: Nokia maps](https://reader036.fdocuments.us/reader036/viewer/2022062405/55810132d8b42a9d198b5152/html5/thumbnails/24.jpg)
Application Lifecycle - Location Tracking
running
running in backgrou
nd
suspended
activated
tombstoned
Activ
ated
RunningInB
g
deactivated
![Page 25: Nokia maps](https://reader036.fdocuments.us/reader036/viewer/2022062405/55810132d8b42a9d198b5152/html5/thumbnails/25.jpg)
Consigli per il Background TrackingUsate l’output vocale e i toast
Informate l’utente se l’App viene disattivata
Fermate i timer attivi e le animazioni
Fermate il tracking della posizione se non è più necessario
Ottimizzate per il Fast Resume
![Page 26: Nokia maps](https://reader036.fdocuments.us/reader036/viewer/2022062405/55810132d8b42a9d198b5152/html5/thumbnails/26.jpg)
Per saperne di piùA breve una serie di articoli e progetti demo relativi al Map Control e Servizi su DomusDotNet (www.domusdotnet.org)
Deep dive su Background Tracking e Fast Resume nella prossima sessione ai Community Days 2013 (www.communitydays.it)
Forse* una sessione sull’applicazione Decoro Urbano, con particolare riguardo alla georeferenziazione delle foto e ai pushpin singoli o in cluster, a Codemotion (roma.codemotion.it)
(* Se sarà accettata la call for paper)
![Page 27: Nokia maps](https://reader036.fdocuments.us/reader036/viewer/2022062405/55810132d8b42a9d198b5152/html5/thumbnails/27.jpg)
@dnlombardia#wpreborn
Nicolò [email protected]/Nick60@TPCWare
WPReborn 2013Orientarsi in un'applicazione: Nokia Maps