cross platform mapping with universal windows apps
DESCRIPTION
TechDays Netherlands talk April 16, 2014. Demo's can be downloaded from http://1drv.ms/1hgENLHTRANSCRIPT
Cross platform mapping met Universal Windows AppsOfwel: bouw 1100+ apps met open data
Joost van SchaikWindows Phone Development MVP
Hello
• Joost van Schaik aka LocalJoost• [insert fancy title of the day] @ Vicrea Solutions• Geo-ict
•Windows Phone Development MVP•Nokia Developer Champion•4 open sources libraries, 1 nog actief
</commercials</plugs>
Agenda
•What’s new• Convergence: gebruik maken van Universal Windows Apps• Basis kaart manipulatie• Tekenen op de kaart• Geocoding• Routing• Geofencing• Tracking• Gebruik van 1100+ NL open geo data sets
!(Agenda)
•MVVM•Behaviors•Databinding (nou ja, heel klein beetje)
What’s new
• Nieuwe nieuwe map control: Windows.UI.Xaml.Maps.MapControl• Vrijwel gehele API rondom mapping• Geofencing• Eenvoudiger / consistenter geometrie• MapIcon
• MapControl.Children -> XAML objects • Sterk verbeterde tile sets*• Geopoint
* = niet in dit verhaal
Mapping convergence
Korte verhaal: we zijn er nog niet
•Bing Maps vs Here Maps control•Location vs Geopoint• Geoposition (voor location)
•Events op map (phone) vs events op shapes (Win8)•Grote verschillen in advanced mogelijkheden en simulatie
Is er eigenlijk mapping convergence?
•Geolocation 100%•Geofencing 100%•Geopoint
•Processing geodata in shared part of PCL
Eerst en vooral
•Map key•Capabilities: internet client &location•Bing Maps: x64
Demo 1 – de basis
•Basis kaart manipulatie•Tekenen kaart shapes•Data opvragen• ADP to the rescue
•Gedeelde code in universele app en PCL
Lessons learned – demo 1
•Basis kaart manipulatie•Twee coördinaattypes en conversie•MapIcon (niet in Windows 8)• Smart display• Labeling
•ADP koppeling geometrie -> object•Shared code -> Frame rate counter in één klap uit
Demo 2 – routing & fencing
•Geocoding•Routing•Geofencing•Tracking (GPS)
Lessons learned – demo 2
•Geofencing en location code 100% sharable• Via Geoposition - location type #3
•Geocoding & routing niet• Partial classes • Slim gebruik shared project = sharing++• Shared code -> methods in non shared code• Shared aux usercontrols piece of cake•Context switcher stuurt F12• Phone emulator >Windows simulator
Demo 3 – schaatsbanen, visstekken, vaarroutes en natuurgebieden
•Open geodata •Nationaal georegister•Mapping Code sharing strategies
WFS/GMLCaution! Hard core GIS stuff ahead!
Ofwel: open geo data en hoe te gebruiken
•WFS• Http get (ofwel – URL in browser)• ‘rest before rest’• 2 versies
•GML – XML• 3 versies
WFS & GML
GML
•Coördinaatsysteem : 4326•FeatureType•OutputFormat•WGS84BoundingBox
Getcapabilities
{baseurl}?request=getcapabilities&service=WFS&Version=1.1.0
Capabilities analyse
:FeatureType>
NameSRS 4326OutputFormatWGS84BoundingBox
Ordinaat volgorde
•Coordinaat = (ordinaat, ordinaat)•Soms (lat,lon), soms (lon, lat)
•En anders – proberen maar
Gefeliciteerd!Je hebt het hardcore GIS deel overleefd en je bent hier nog steeds!
HULDE!
GML parsing
•WFS url • GetFeature• Bbox• EPSG:4326
• ->UTF8 •Attributes•Geometry parsing•Helemaal in PCL
Lessons learned
•Open geo data -> veel apps (DVLUP! XP!)
•GML bloated formaat • Check vóór downloaden!!!• -> download, parse, local storage
•OGC
•Beetje architectuur -> share++
Lessons learned – shared code
•Shared code:• ‘Global’ reusable -> PCL• Project sharable -> Shared portion
•Sharing• Partial classes• #ifdef toch vaak simpeler• Gebruik context switcher(!)
•Call shared code -> PCL•Call shared code -> Non shared code• Twee implementaties nodig
Samenvatting
•Nieuwe map control voor Windows Phone•Gebruik universal project• Shared code, partial classes, PCL
•Overeenkomsten • Tracking, Geofencing, Map Manipulation
•Verschilllen• Tekenen van shapes, Geocoding, Routing• Point types
•Ongetwijfeld meer, maar niet in dit verhaal.
Mocht je nog steeds niet genoeg van me hebben
http://dotnetbyexample.blogspot.com
@localjoost
localjoostnl
Laat ons weten wat u vindt van deze sessie! Vul de evaluatie in via www.techdaysapp.nl en maak kans op een van de 20 prijzen*. Prijswinnaars worden bekend gemaakt via Twitter (#TechDaysNL). Gebruik hiervoor de code op uw badge.
Let us know how you feel about this session! Give your feedback via www.techdaysapp.nl and possibly win one of the 20 prices*. Winners will be announced via Twitter (#TechDaysNL). Use your personal code on your badge.
* Over de uitslag kan niet worden gecorrespondeerd, prijzen zijn voorbeelden – All results are final, prices are examples
Related sessions 16-4Slot Title Speaker17:45
App Analytics voor Windows Phone en Windows Store
Mark Monster
17:45
Je hebt een app. Nu alleen nog verkopen! Dennis Vroegop
Related sessions 17-4 (1)Slot Title Speaker09:15
Diagnosing performance issues in Xaml based Windows Phone and Windows Store Apps with Visual Studio 2013
Harikrishna Ajithkumar Menon
09:15
Designing XAML Apps using blend for Visual Studio 2013
Fons Sonnemans
09:15
Building Windows Store apps for Windows Phone 8.1
Andy Wigley
10:50
Making the most from Windows Phone App Studio
Tom Verhoeff
Related sessions 17-4 (2)Slot Title Speaker09:15
Jouw apps op alle schermen en resoluties Martin Tirion
14:50
Bouwen en distribueren van je Enterprise apps voor Phone
Matthijs Hoekstra
16:20
Networking, Mobile Services and Authentication on Windows Phone 8.1
Andy Wigley