Building Mobile Cross-PlatformGeospatial Apps with C#By Nick Landry,MVPSenior Product Manager –Infragisticsactivenick@infr...
Who is ActiveNick?•  Senior	  Product	  Manager,	  Mobile	  &	  Data	  Visualiza8on	  Developer	  Tools	  –	  Infragis8cs	...
Disclaimers & Assumptions•  You	  know	  the	  basics	  of	  Xamarin	  development	  •  You’re	  a	  .NET	  developer:	  C...
Agenda•  Overview	  of	  the	  GIS	  World	  •  Why	  GIS	  +	  Mobile?	  •  Mapping	  Imagery	  Providers	  Across	  Pla_...
Mobile Platform Options
More	  than	  Maps	  &	  GPS…	  Overview of the GIS World
What is GIS?Maps	  (Raster	  /	  Vector)	  Aerial	  /	  Satellite	  Imagery	  Data	  Processing	  Geocoding	  Rou8ng	  &	 ...
Maps help you visualize critical business dataBusiness IntelligenceSupply Chain Customer Locations70-80% of business data ...
Why GIS + Mobile?•  Every	  company	  that	  has	  a	  web	  site	  needs	  a	  map	  of	  where	  their	  loca8on	  is	  ...
Geospatial Services for Developers
Key GIS PlayersMicroso?	  Google	  Maps	   Nokia	  Maps	  TomTom	  Esri	  MapQuest	  Apple	  Maps	   OpenStreetMap	  
About ESRI ArcGIS•  ESRI	  ArcGIS	  is	  a	  broad	  name	  given	  to	  a	  suite	  of	  GIS	  tools	  created	  by	  ESR...
Which Mobile Map Control?Control/Pla<orm	   iOS	   Android	   Windows	  8	   Windows	  Phone	  Google	  Maps	   SDKXB	   Y...
SDK Wars: Apple Maps vs.Google MapsGoogle	  Maps	  • Data:	  Google	  • BeTer	  Hybrid	  &	  Satellite	  imagery	  • 3D	  ...
Cross-Platform Solution DesignClient	  Pla_orms	  GIS	  Providers	  Loca8on	  Data	   Loca8on	  Data	  Google	  Maps	  iOS...
DemoOverview	  of	  MyGIS	  for	  iOS,	  Android,	  and	  Windows	  Phone	  8	  
Google Maps SDK for iOS•  Available	  for	  free	  in	  the	  Xamarin	  Component	  Store	  –  Official	  iOS	  Product	  Pa...
Creating a Bing Maps Account1.  Go	  to	  hTp://bingmapsportal.com	  2.  Select	  the	  Create	  buTon	  3.  Sign	  in	  u...
Creating a Bing Maps Key1.  Log	  into	  the	  Bing	  Maps	  Portal	  2.  Select	  “Create	  of	  view	  keys”	  3.  Provi...
Available Geospatial ServicesNomina8m	   Geocoding	  API:	  2,500/day	  quota	  Places	  Search	  API:	  100K/day	  quota	...
DemoCalling	  Geocoding	  Services	  in	  C#	  Display	  Results	  on	  Google	  Maps	  
Libraries Referenced in the Demo•  JSON.Net	  (iOS,	  Android,	  Windows	  Phone	  8)	  –  REST	  calls	  to	  Google	  Ma...
NucliOS Native iOS Controlswww.infragis8cs.com/ios	  
Infragistics NucliOS 13.1•  Na8ve	  Controls	  for	  iOS	  Developers:	  Objec8ve	  C	  or	  C#	  •  Second	  Release	  in...
NucliOS Samples Browser•  Available	  for	  iPad	  &	  iPhone	  today	  –  hTp://bit.ly/igiossb	  
Infragistics NucliOS –Grid•  Context	  Menu	  (Tap	  &	  Hold)	  •  Data	  Binding	  &	  Data	  Source	  Helper	  •  Row	 ...
Infragistics NucliOS –Grid
Infragistics NucliOS –ChartCategory & Scatter SeriesCategory	  Series	  •  Area	  	  •  SplineArea	  	  •  Bar	  	  •  Col...
Infragistics NucliOS –Chart
Summary and Next Steps…Get Ready to Become a Cross-Platform Mobile DeveloperRegister	  for	  a	  free	  account	  at	  www...
More Maps & Location at EVOLVE•  Wednesday	  –	  1:30PM	  “Mapping	  on	  iOS	  and	  Android”	  By	  Wally	  McClure,	  i...
References Links•  Generate	  JSON	  Parsing	  Classes	  in	  C#:	  hTp://json2csharp.com	  •  Google	  Maps	  –  Google	 ...
Recommended GIS Learning References
Thank You!Slides	  and	  demos	  will	  be	  posted	  on	  my	  blog	  at	  www.Ac1veNick.net.	  	  Please	  fill-­‐out	  a...
Upcoming SlideShare
Loading in …5
×

Building Mobile Cross-Platform Geospatial Apps, Nick Landry

2,231 views
2,046 views

Published on

0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,231
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
63
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

Building Mobile Cross-Platform Geospatial Apps, Nick Landry

  1. 1. Building Mobile Cross-PlatformGeospatial Apps with C#By Nick Landry,MVPSenior Product Manager –Infragisticsactivenick@infragistics.com@ActiveNick –www.ActiveNick.net
  2. 2. Who is ActiveNick?•  Senior  Product  Manager,  Mobile  &  Data  Visualiza8on  Developer  Tools  –  Infragis8cs  •  Microso?  MVP:  Windows  Phone  Development  –  Mobile  Publisher  –  Big  Bald  Apps:  h"p://bit.ly/bbawp  •  Speaker.  Blogger.  Author.  Tweeter.  Gamer  •  20+  Years  of  Professional  Experience  •  Special8es:  –  Mobile  Development  –  Loca8on  Intelligence  &  Geospa8al  Systems  –  Data  Visualiza8on,  HPC,  Cloud  –  Mobile  Game  Development  •  Blog:  www.Ac1veNick.net  •  TwiTer:  @Ac1veNick    
  3. 3. Disclaimers & Assumptions•  You  know  the  basics  of  Xamarin  development  •  You’re  a  .NET  developer:  C#  (or  VB.NET),  Visual  Studio,  XAML  •  You  know  some  basics  of  Microso?  device  development:  Windows  8/RT  or  Windows  Phone  •  You  know  some  basics  about  calling  REST  services  •  You  know  liTle  to  nothing  about  GIS  development  •  You  have  access  to  a  Mac,  and  preferably  an  iPad  or  iPhone  too  •  You  want  to  learn  cross-­‐pla_orm  techniques  &  best  prac8ces  for  mobile  development  on  iOS,  Android,  Windows  Phone  /  Windows  8  –  I  am  NOT  covering  general  mobile  design  considera8ons  –  I  am  NOT  covering  Hybrid  HTML5  App  Development  (i.e.  PhoneGap)  
  4. 4. Agenda•  Overview  of  the  GIS  World  •  Why  GIS  +  Mobile?  •  Mapping  Imagery  Providers  Across  Pla_orms  •  Geospa8al  Services  •  Cross-­‐Pla_orm  Demo:  MyGIS  •  Geocoding  Services  Demo  •  Q&A  
  5. 5. Mobile Platform Options
  6. 6. More  than  Maps  &  GPS…  Overview of the GIS World
  7. 7. What is GIS?Maps  (Raster  /  Vector)  Aerial  /  Satellite  Imagery  Data  Processing  Geocoding  Rou8ng  &  Direc8ons  Spa8al  Data  (Capture,  Storage,  Search)  Spa8al  Storage  &  Search  Repor8ng  &  Analy8cs  Loca8on  Services  
  8. 8. Maps help you visualize critical business dataBusiness IntelligenceSupply Chain Customer Locations70-80% of business data has ageospatial componentWhy GIS?
  9. 9. Why GIS + Mobile?•  Every  company  that  has  a  web  site  needs  a  map  of  where  their  loca8on  is  •  BeTer  Imagery  and  New  Perspec8ves    •  Personalizing  the  Mapping  Experience  •  Going  Mobile  –  Mobile  devices  are  loca8on  aware,  generally  smarter  and  more  powerful  –  Mobile  devices  will  overtake  the  PC  –  The  boundary  between  Personal  Naviga8on  Devices  and  Smartphones  is  blurring  –  Loca8on  Based  Adver8sement  is  becoming  a  reality  •  New  Emerging  Technologies  and  Techniques  –  Geofencing,  Background  Loca8on-­‐Tracking,  etc.  
  10. 10. Geospatial Services for Developers
  11. 11. Key GIS PlayersMicroso?  Google  Maps   Nokia  Maps  TomTom  Esri  MapQuest  Apple  Maps   OpenStreetMap  
  12. 12. About ESRI ArcGIS•  ESRI  ArcGIS  is  a  broad  name  given  to  a  suite  of  GIS  tools  created  by  ESRI  •  Many  of  these  tools  are  designed  to  perform  complex  GIS  opera8ons  –  ESRI  develops  GIS  so?ware  that  is  used  by  more  than  300,000  organiza8ons  worldwide  •  Different  flavors  of  ArcGIS  include:  –  Desktop,  Mobile,  Server,  and  Online  •  ESRI  &  Microso?  have  been  partners  since  1986  •  ArcGIS  built  using  Microso?  Technology  •  Solid  Developer  Support  –  Map  Controls  on  virtually  every  pla_orm  –  REST  API  for  backend  /  cloud  GIS  services  –  No  Xamarin  bindings  yet…  sadly  
  13. 13. Which Mobile Map Control?Control/Pla<orm   iOS   Android   Windows  8   Windows  Phone  Google  Maps   SDKXB   YesXB   (Yes,  WinJS)  Bing  Maps   (Yes,  Old)   (OSS,  JS,  Old)   Yes   Yes  Esri  ArcGIS   Yes   Yes   Beta   Yes  Nokia  Maps   Yes,  WP8  Apple  Maps   YesXB  OpenStreet   (via  MQ  SDK)   (via  MQ  SDK)   (Yes,  IG,  WinJS)  MapQuest   SDK   SDK  XB:  Denotes  the  availability  of  Xamarin.iOS  bindings  Denotes  a  “na8ve”  mapping  provider  for  this  pla_orm  
  14. 14. SDK Wars: Apple Maps vs.Google MapsGoogle  Maps  • Data:  Google  • BeTer  Hybrid  &  Satellite  imagery  • 3D  Buildings  • Semi-­‐transparent  roads  in  hybrid  view  (Apple  Maps  app  too!)  • Rotate  &  Tilt  map  +  Camera  System  • No  8le  overlays  • Performance  capped  at  30fps  • Geocoding,  Direc8ons,  Places  API  • Consistent  across  iOS  &  Android  • App  bundle  increase  by  2-­‐6MB  • Limited  Quotas,  can  be  expensive  • Fast  SDK  updates  &  releases  possible  Apple  Maps  • Data:  TomTom  &  others  • Opaque  roads  in  hybrid  view  • Supports  gradient  polylines  • Supports  8le  overlays  • Animated  “pin  drop”  (markers)  • Can  automa8cally  move  to  follow  the  users  loca8on  • Loca8on  Search  API  • BeTer  performance,  smoother  feel  • Proprietary  iOS  experience  • Built-­‐in  SDK,  no  app  size  increase  • Free,  no  quotas!  • Mature  API  (since  iOS  v1.0!)  • More  community  resources  Comparison  Reference:  hTp://bit.ly/GMapsvsAMaps  
  15. 15. Cross-Platform Solution DesignClient  Pla_orms  GIS  Providers  Loca8on  Data   Loca8on  Data  Google  Maps  iOS   Android  Nokia  &  Bing  Maps  Windows  Phone  
  16. 16. DemoOverview  of  MyGIS  for  iOS,  Android,  and  Windows  Phone  8  
  17. 17. Google Maps SDK for iOS•  Available  for  free  in  the  Xamarin  Component  Store  –  Official  iOS  Product  Page:  developers.google.com/maps/documenta8on/ios  •  Google  Maps  imagery  control  –  Views:  Normal/Road,  Satellite,  Hybrid,  Terrain/Topographic  –  Scroll/Pan,  Zoom,  Rotate  &  Tilt  gestures  –  Programma8cally  control  the  map  camera  –  Supports  Markers,  Info  window,  Polylines,  Overlays  (images)  –  Map  Events:  Camera  change,  Market  Tap,  etc.  •  Requires  an  API  Key  –  Obtain  at  hTps://code.google.com/apis/console  –  Request  a  key  for  iOS  apps  based  on  bundle  iden8fiers  
  18. 18. Creating a Bing Maps Account1.  Go  to  hTp://bingmapsportal.com  2.  Select  the  Create  buTon  3.  Sign  in  using  a  Windows  Live  ID  4.  Fill  in  the  form  and  Save  
  19. 19. Creating a Bing Maps Key1.  Log  into  the  Bing  Maps  Portal  2.  Select  “Create  of  view  keys”  3.  Provide  an  applica8on  name  4.  Select  the  proper  Key  Type  5.  Select  the  proper  Applica8on  Type  6.  Fill  in  the  CAPTCHA  7.  Press  submit  8.  Your  key  will  be  generated  and  displayed  below  the  form  
  20. 20. Available Geospatial ServicesNomina8m   Geocoding  API:  2,500/day  quota  Places  Search  API:  100K/day  quota  50K  transac8ons  /  day  for  mobile  5  x  50  batch  geocoding  /  day  10K/30-­‐days  for  evalua8on  No  turn-­‐by-­‐turn  naviga8on  allowed  All  paid  services  
  21. 21. DemoCalling  Geocoding  Services  in  C#  Display  Results  on  Google  Maps  
  22. 22. Libraries Referenced in the Demo•  JSON.Net  (iOS,  Android,  Windows  Phone  8)  –  REST  calls  to  Google  Maps  Geocoder  •  Mapping  Controls  –  Google  Maps  SDK  for  iOS  –  Google  Maps  Android  API  v2  (part  of  Google  Play  Services  –  Default  Nokia  Maps  Control  (Windows  Phone  8)  •  Xamarin.Mobile  •  Infragis8cs  NucliOS  IGGridView  (iOS)  
  23. 23. NucliOS Native iOS Controlswww.infragis8cs.com/ios  
  24. 24. Infragistics NucliOS 13.1•  Na8ve  Controls  for  iOS  Developers:  Objec8ve  C  or  C#  •  Second  Release  in  April  2013  •  Data  Charts  +  New  Pie  Chart  Control  –  40  data  chart  types,  composite  charts,  full  data-­‐binding  support  –  13  trend  lines,  10  built-­‐in  data  markers,  legends,  34  financial  indicators  –  Iner8al  zooming  &  panning  in  real  8me  using  mul8-­‐touch  gestures,  with  charts  showing  over  a  million  data  points  –  Mo8on  Framework  support  for  animated  transi8ons  –  Styling,  themes,  gradients,  gorgeous  charts!  •  Grid:  Data  or  Layout  –  Can  be  styled  &  templated  to  look  like  almost  anything  –  Grouping,  sor8ng,  insert/remove,  filter,  reorder,  etc.  •  Radial  Gauges  •  Rich-­‐Text  Label  
  25. 25. NucliOS Samples Browser•  Available  for  iPad  &  iPhone  today  –  hTp://bit.ly/igiossb  
  26. 26. Infragistics NucliOS –Grid•  Context  Menu  (Tap  &  Hold)  •  Data  Binding  &  Data  Source  Helper  •  Row  Inser8on  and  Dele8on  •  Column  Inser8on  &  Dele8on  •  Filtering  •  Grouping  &  Sec8on  Headers  •  Pull-­‐down  to  refresh  •  Column,  Row  &  Cell  Re-­‐ordering  •  Fixed  /  Frozen  Columns  •  Scrolling  Shortcut  •  Infinite  Scrolling  •  Selec8on  •  Shortcut  Bar  •  Star  (  *  )  Sizing  on  Columns  •  Sor8ng  •  Styling  •  Slide  Row  Op8ons  •  Full  Xamarin.iOS  Bindings  
  27. 27. Infragistics NucliOS –Grid
  28. 28. Infragistics NucliOS –ChartCategory & Scatter SeriesCategory  Series  •  Area    •  SplineArea    •  Bar    •  Column    •  Line    •  Spline    •  StepArea  •  StepLine    •  Waterfall  •  Point  Range  Category  Series  •  RangeArea    •  RangeColumn  Sca"er  Series  •  ScaTer    •  Bubble      Financial  Series  •  FinancialPriceSeries  –  Candles8ck  •  FinancialPriceSeries  –  OHLC  Financial  Indicators  •  TypicalPriceIndicator    •  AbsoluteVolumeOscillatorIndicator    •  AverageTrueRangeIndicator    •  Accumula8onDistribu8onIndicator    •  AverageDirec8onalIndexIndicator    Polar  •  PolarLine    •  PolarArea    •  PolarScaTer    Radial  •  RadialColumn    •  RadialLine    •  RadialPie      13  types  of  trend  lines  built-­‐in  10+  types  of  markers  Animated  data  transi1ons  with  the  Infragis1cs  Mo1on  Framework    More  Features  Coming  in  13.1  (April)  •  Radial  Gauge  Control  •  Pie  Chart  Control  •  Rich-­‐Text  Label  Control  •  17  New  Data  Chart  Series  •  29  New  Financial  Indicators  •  New  Grid  Features  •  MonoTouch  Support  for  All  Controls  •  Japanese  Language  Support  •  New  Samples  Browser  •  New  Samples  Financial & Scientific Series More Chart Features28  
  29. 29. Infragistics NucliOS –Chart
  30. 30. Summary and Next Steps…Get Ready to Become a Cross-Platform Mobile DeveloperRegister  for  a  free  account  at  www.Xamarin.com  Download  Xamarin  Studio,  along  with  Xamarin.iOS  &  Xamarin.Android  Geospatial Development ResourcesGoogle  Maps  Developer  Resources:  developers.google.com/maps  Esri  ArcGIS  Developer  Resources:  developers.arcgis.com  Don’t forget Windows Phone & Bing MapsWindows  Phone  Dev  Center:  dev.windowsphone.com  Bing  Maps  Portal:  www.BingMapsPortal.com    Download Additional Resources & Become an ExpertDownload  NucliOS:  www.infragis1cs.com/ios  NetAdvantage  for  Windows  Phone:  www.Infragis1cs.com/mobile  30  1234
  31. 31. More Maps & Location at EVOLVE•  Wednesday  –  1:30PM  “Mapping  on  iOS  and  Android”  By  Wally  McClure,  in  Crick  Salon  (Level  6)  –  iOS:  Apple  Maps  &  MapKit  API  –  Android:  Google  Maps  for  Android  –  Loca8on  Services  –  Maps,  placing  pins  on  maps  –  Responding  to  events  
  32. 32. References Links•  Generate  JSON  Parsing  Classes  in  C#:  hTp://json2csharp.com  •  Google  Maps  –  Google  Maps  Developer  Resources:  developers.google.com/maps  –  Google  APIs  Console:  code.google.com/apis/console  –  Google  Maps  SDK  for  iOS:  developers.google.com/maps/documenta8on/ios  –  Google  Maps  Android  API  v2:    –  Geocoding  API:  developers.google.com/maps/documenta8on/geocoding  •  OpenStreetMap  (OSM)  –  Nomina8m  Geocoding  Service:    •  Bing  Maps  –  Management  Portal:  www.bingmapsportal.com  •  Esri  ArcGIS  –  Esri  ArcGIS  Developer  Center:  developers.arcgis.com  
  33. 33. Recommended GIS Learning References
  34. 34. Thank You!Slides  and  demos  will  be  posted  on  my  blog  at  www.Ac1veNick.net.    Please  fill-­‐out  an  evalua8on.  Your  feedback  is  important  and  appreciated.    Facebook: www.facebook.com/infragis8cs  Blog: www.Ac8veNick.net    Twitter: @Ac8veNick    Mobile Apps: bit.ly/bbawp  LinkedIn: www.linkedin.com/in/ac8venick  Website: www.infragis8cs.com  Infragistics Twitter: @infragis8cs  Email: ac8venick@infragis8cs.com  

×