BLOG: I denne guide vil vi se nærmere på hvor nemt det er at integrer Bing Maps i en Windows Phone 7 applikation og hvordan man tilføjer nye lag til kortet
... det er næsten en hel bog... så mangler vi bare filmen ;)
Hurtig opsummering af del 4: I del fire tilføjede vi kort data i for af Map Layers og muligheden for at tilføje og fjerne lag fra kortet fra en dedikeret Map Settings side.
Alt i alt tilføjede vi den ønskede funktionalitet til Kort App'en, men der er stadig lidt vej igen til at den kan komme i gennem certificeringsprocessen.
Så lad os få fixet de sidste små ting ;)
Hvad ville der ske hvis vi bare "submittede" appen nu? Tja... hvis vi lige ser bort fra den store overskrift "page name" som pryder forsiden og bestemt ikke ville gøre det nemmere at få den certificeret. Så ville den blive afvist!
Hvorfor og på hvilket grundlag? Det kan man svare ret præcist på, ved at submitte app'en og se på den fine tet rapport man får retur!
Hent hele testrapporten her:
Uddrag fra testrapporten: Requirements Expected Result Your application must provide in-application settings that allow the user to enable and disable your application's access to and use of location from the location service API.
Applikationen fejler fordi den ikke giver brugeren mulighed for at slå GPS til og fra.
Så det skal vi da bare ha fixet ;)
AppSettingsPage.xaml Den nemmeste måde at opfylde GPS certificeringskravet på er ved at oprette en "settings page" med tilhørende properties i MainViewModel.cs (EnableGPS) hvor vi kan gemme brugerens indstillinger.
Så i MainViewModel tilføjes en ny property: private bool _enableGPS = false; public bool EnableGPS { get { return _enableGPS; } set { if (value != _enableGPS) { _enableGPS = value; AppSettingsHelper.EnableGPS = value; NotifyPropertyChanged("EnableGPS"); } } }
Bemærk at der i "set" er lavet et ekstra kald til AppSettingsHelper klassen.
AppSettingsHelper klassen sørger for at gemme brugerens valg på tværs af "application runs". Det er ikke et decideret krav, men klart noget brugeren vil forvente, så derfor er det taget med :)
Så mangler vi bare at respektere brugerens valg for brugen af GPS'en, det gøres nemmest i metoden MainPage_Loaded, med følgende kode stump: if (App.ViewModel.EnableGPS) { gps.Start(); }
Metoden MainPage_Loaded, køres hver gang vores side loades og køres derfor hver gang vi returnerer fra AppSettingsPage.xaml. Så ved en ændring til EnableGPS vil vores applikation respekterer den ændring.
Aktiver tracking knappen: Men hvad nu hvis brugeren trykker på "track me" knappen? Så skal vi sikre os at vi må bruge GPS'en! Det kan gøres ved at tilføje følgende kodestump til ApplicationBarIconButton_Click metoden: if (!App.ViewModel.EnableGPS) { // settings menu item NavigationService.Navigate(new Uri("/Pages/AppSettingsPage.xaml", UriKind.Relative)); return; }
Hvis brugeren ikke har givet adgang til GPS'en, så prompter vi brugeren med AppSettingsPage.xaml siden. På den måde kan brugeren ændre det valg. Enkelt og konsistent.
Applikationstilstand: Udover GPS indstillinger har jeg også tilføjet lidt kræs ;) Applikationen husker nu Map Zoom Level og kortes sidste center position, så applikationen altid starter med udgangspunkt i "sidste tilstand".
Igen, dette er ikke noget krav, men bestemt et plus for brugeren!
Grafik og ikoner: Applikationen kommer heller ikke igennem certificeringen med standardikonerne, så de skal også skiftes/opdateres.
Faktisk kan man ikke lave en submission uden en masse grafik klar, så her havde jeg snydt lidt med den forrige submission...
Jeg har lavet grafik til ikoner, baggrund, startskærm og så lidt ekstra ;)
Startskærmen ser nu således ud:
Jeg er udvikler og ikke grafikker: Og det kan jo være at du har det på samme måde, så hvad gør en klog? Det ved jeg ikke, men for at lave grafikken til denne applikation har jeg brugt en kombination af... hold nu fast! ... "Clip Art" og det fantastiske program Paint.net, et must! hent det her: http://getpaint.net
Så for at få logoet har jeg bare søgt efter "Maps Denmark" og fundet følgende:
Og lavet det til sort/hvis i paint.net, sådan... og så uden yderligere reflektering konkluderet at det er flot ;)
... andre ville nok vælge en designer :)
Grafikken kan findes i folderen "submission details" i zip filen.
Hent koden til del 5 her (Maps Starter Kit):
Vi er klar til submission: Ja vi skal lige ændre "page name" til noget mere fornuftigt. Jeg har tænkt på to muligheder, slette teksten helt og give mere plads til kortet eller vi kan tilføje en reklame banner ;)
Så næste gang tilføjer vi en reklamebanner, vi skal jo tjene penge, og så kører vi submission processen igennem og krydser fingre! for at den går igennem syn ;)
... og hvis der er penge i det, så gir' jeg en øl et sted i cph ;)
Fra studerende til professionel udvikler. En blog for studerende som ønsker at tage aktivt stilling til mulighederne i nye teknologier. Skrives af Martin Esmann, Academic Developer Evangelist i Microsoft.
Kan gratis sikkerhedssoftware virkelig beskytte din pc? Svaret er ja, hvis du vælger det rette produkt. Læs her en test af de mest pålidelige gratis sikkerhedsprogrammer.
Næsten 200 IBM-ansatte får med få timers varsel sidste arbejdsdag i dag. Ingen var orienteret forud for dagens massefyring, som effektueres øjeblikkeligt.
Flyselskabet SAS har brugt op mod trekvart milliarder kroner og seks år på at udskifte sit bookingsystem. Undervejs har der været flere projekt-udfordringer, som kulminerede en vinternat med en big bang-migrering.