developing mobile apps with the arcgis runtime sdk for · 2014. 8. 5. · 2014 esri user conference...

38
Developing Mobile Apps with the ArcGIS Runtime SDK for .NET Rich Zwaap Morten Nielsen

Upload: others

Post on 09-Oct-2020

6 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Developing Mobile Apps with the ArcGIS Runtime SDK for · 2014. 8. 5. · 2014 Esri User Conference -- Technical Workshop Keywords: 2014 Esri User Conference -- Technical Workshop,

Esri UC 2014 | Technical Workshop |

Developing Mobile Apps with the ArcGIS Runtime SDK for .NET Rich Zwaap

Morten Nielsen

Page 2: Developing Mobile Apps with the ArcGIS Runtime SDK for · 2014. 8. 5. · 2014 Esri User Conference -- Technical Workshop Keywords: 2014 Esri User Conference -- Technical Workshop,

Esri UC 2014 | Technical Workshop |

Agenda

• The ArcGIS Runtime • Getting started with .NET • Mapping • Editing • Going offline • Geocoding and routing • Using Native Device Capabilities

Developing Mobile Apps with the ArcGIS Runtime SDK for .NET

Page 3: Developing Mobile Apps with the ArcGIS Runtime SDK for · 2014. 8. 5. · 2014 Esri User Conference -- Technical Workshop Keywords: 2014 Esri User Conference -- Technical Workshop,

Esri UC 2014 | Technical Workshop | Esri UC 2014 | Technical Workshop |

The ArcGIS Runtime

Developing Mobile Apps with the ArcGIS Runtime SDK for .NET

Page 4: Developing Mobile Apps with the ArcGIS Runtime SDK for · 2014. 8. 5. · 2014 Esri User Conference -- Technical Workshop Keywords: 2014 Esri User Conference -- Technical Workshop,

Esri UC 2014 | Technical Workshop |

Page 5: Developing Mobile Apps with the ArcGIS Runtime SDK for · 2014. 8. 5. · 2014 Esri User Conference -- Technical Workshop Keywords: 2014 Esri User Conference -- Technical Workshop,

Esri UC 2014 | Technical Workshop |

Page 6: Developing Mobile Apps with the ArcGIS Runtime SDK for · 2014. 8. 5. · 2014 Esri User Conference -- Technical Workshop Keywords: 2014 Esri User Conference -- Technical Workshop,

Esri UC 2014 | Technical Workshop |

Runtime Platforms

QT

OS X

JavaSE

Windows Mobile

iOS

Android Mobile

Desktop

Embedded

Developing Mobile Apps with the ArcGIS Runtime SDK for .NET

.NET

Windows Store

Windows Phone

Windows Desktop

A

Page 7: Developing Mobile Apps with the ArcGIS Runtime SDK for · 2014. 8. 5. · 2014 Esri User Conference -- Technical Workshop Keywords: 2014 Esri User Conference -- Technical Workshop,

Esri UC 2014 | Technical Workshop |

Runtime Architecture • Platform API wraps C++ core • You write code in the language of the platform (C#, VB, Java, Objective-C, etc) • No need to be concerned with details of Core

Qt Android

WPF

iOS

Java

OS X

ArcGIS Runtime

API

Developing Mobile Apps with the ArcGIS Runtime SDK for .NET

.NET

C++ ‘Runtime Core’

x86 x64 ARM

A

Page 8: Developing Mobile Apps with the ArcGIS Runtime SDK for · 2014. 8. 5. · 2014 Esri User Conference -- Technical Workshop Keywords: 2014 Esri User Conference -- Technical Workshop,

Esri UC 2014 | Technical Workshop |

Runtime SDK for .NET

.NET ArcGIS Runtime API

C++ ‘Runtime Core’

Windows Desktop

API

Windows Phone

API

Windows Store app

API

Developing Mobile Apps with the ArcGIS Runtime SDK for .NET

• APIs for three platforms • Desktop, Store (tablet), Phone • One common API surface

Page 9: Developing Mobile Apps with the ArcGIS Runtime SDK for · 2014. 8. 5. · 2014 Esri User Conference -- Technical Workshop Keywords: 2014 Esri User Conference -- Technical Workshop,

Esri UC 2014 | Technical Workshop |

Page 10: Developing Mobile Apps with the ArcGIS Runtime SDK for · 2014. 8. 5. · 2014 Esri User Conference -- Technical Workshop Keywords: 2014 Esri User Conference -- Technical Workshop,

Esri UC 2014 | Technical Workshop |

Page 11: Developing Mobile Apps with the ArcGIS Runtime SDK for · 2014. 8. 5. · 2014 Esri User Conference -- Technical Workshop Keywords: 2014 Esri User Conference -- Technical Workshop,

Esri UC 2014 | Technical Workshop |

Devices devices devices…

Type Presentation Title Here

Page 12: Developing Mobile Apps with the ArcGIS Runtime SDK for · 2014. 8. 5. · 2014 Esri User Conference -- Technical Workshop Keywords: 2014 Esri User Conference -- Technical Workshop,

Esri UC 2014 | Technical Workshop | Esri UC 2014 | Technical Workshop |

Getting started with the .NET Runtime

Developing Mobile Apps with the ArcGIS Runtime SDK for .NET

where do I get started?

Page 13: Developing Mobile Apps with the ArcGIS Runtime SDK for · 2014. 8. 5. · 2014 Esri User Conference -- Technical Workshop Keywords: 2014 Esri User Conference -- Technical Workshop,

Esri UC 2014 | Technical Workshop |

ArcGIS Runtime SDK • Conceptual doc, API reference, samples, and the developer community

- Start here: http://developers.arcgis.com/net - Beta community: https://betacommunity.esri.com

• GitHub: Samples, Toolkit, Offline app, Portal Viewer app

Guide API Ref Samples Community ArcGIS

Runtime SDK

ArcGIS Runtime

API

C++ ‘Runtime Core’

Developing Mobile Apps with the ArcGIS Runtime SDK for .NET A

Page 14: Developing Mobile Apps with the ArcGIS Runtime SDK for · 2014. 8. 5. · 2014 Esri User Conference -- Technical Workshop Keywords: 2014 Esri User Conference -- Technical Workshop,

Esri UC 2014 | Technical Workshop |

ArcGIS for Developers http://developers.arcgis.com

• SDK Content – Documentation, API Reference, Samples

• Register for a developer account (free) - Register applications

- ClientID for licensing Runtime apps at Basic level

- Create cloud-hosted services - Receive 50 credits per month for development

and testing - Download ArcGIS Runtime SDKs

• Can also log in with an ArcGIS Online account

Developing Mobile Apps with the ArcGIS Runtime SDK for .NET

Page 15: Developing Mobile Apps with the ArcGIS Runtime SDK for · 2014. 8. 5. · 2014 Esri User Conference -- Technical Workshop Keywords: 2014 Esri User Conference -- Technical Workshop,

Esri UC 2014 | Technical Workshop |

ArcGIS Runtime SDK for .NET Developer’s Guide • Getting started

- System requirements - Installation

• Tutorials

• High-level concepts

• Platform-specific content - Desktop - Store - Phone

• Sign up for beta at https://betacommunity.esri.com/

Developing Mobile Apps with the ArcGIS Runtime SDK for .NET

http://developers.arcgis.com/net/desktop/guide

Page 16: Developing Mobile Apps with the ArcGIS Runtime SDK for · 2014. 8. 5. · 2014 Esri User Conference -- Technical Workshop Keywords: 2014 Esri User Conference -- Technical Workshop,

Esri UC 2014 | Technical Workshop | Esri UC 2014 | Technical Workshop |

developers.arcgis.com

Developer Resources

Demo

Developing Mobile Apps with the ArcGIS Runtime SDK for .NET

Page 17: Developing Mobile Apps with the ArcGIS Runtime SDK for · 2014. 8. 5. · 2014 Esri User Conference -- Technical Workshop Keywords: 2014 Esri User Conference -- Technical Workshop,

Esri UC 2014 | Technical Workshop | Esri UC 2014 | Technical Workshop |

Mapping

Developing Mobile Apps with the ArcGIS Runtime SDK for .NET

I can haz map in my appz?

Page 18: Developing Mobile Apps with the ArcGIS Runtime SDK for · 2014. 8. 5. · 2014 Esri User Conference -- Technical Workshop Keywords: 2014 Esri User Conference -- Technical Workshop,

Esri UC 2014 | Technical Workshop |

Adding a map • Map class

- Defines layers to be shown - Also specifies initial extent and spatial reference - Data object – not rendered directly

Developing Mobile Apps with the ArcGIS Runtime SDK for .NET

Page 19: Developing Mobile Apps with the ArcGIS Runtime SDK for · 2014. 8. 5. · 2014 Esri User Conference -- Technical Workshop Keywords: 2014 Esri User Conference -- Technical Workshop,

Esri UC 2014 | Technical Workshop |

Adding a map • Different layer types for different data sources

- ArcGISTiledMapServiceLayer – tiled ArcGIS for Server map services

- ArcGISDynamicMapServiceLayer – dynamic ArcGIS for Server map services

- ArcGISImageServiceLayer – ArcGIS for Server image services

- FeatureLayer – layers within map services and geodatabases

- ArcGISLocalTiledLayer – tile packages

- More classes for non-ArcGIS data sources (Bing, OpenStreetMap, GeoRSS, CSV, etc)

Developing Mobile Apps with the ArcGIS Runtime SDK for .NET

Page 20: Developing Mobile Apps with the ArcGIS Runtime SDK for · 2014. 8. 5. · 2014 Esri User Conference -- Technical Workshop Keywords: 2014 Esri User Conference -- Technical Workshop,

Esri UC 2014 | Technical Workshop |

• MapView class - Control that defines appearance of map within application (position on page, width, height, etc) - Takes Map as a property

- Also specifies: - Display of user location (GPS)

- Editing behavior via the Editor class

- Map navigation methods and events

Adding a map

Developing Mobile Apps with the ArcGIS Runtime SDK for .NET

Page 21: Developing Mobile Apps with the ArcGIS Runtime SDK for · 2014. 8. 5. · 2014 Esri User Conference -- Technical Workshop Keywords: 2014 Esri User Conference -- Technical Workshop,

Esri UC 2014 | Technical Workshop | Esri UC 2014 | Technical Workshop |

let’s try it…

Mapping

Demo

Developing Mobile Apps with the ArcGIS Runtime SDK for .NET

Page 22: Developing Mobile Apps with the ArcGIS Runtime SDK for · 2014. 8. 5. · 2014 Esri User Conference -- Technical Workshop Keywords: 2014 Esri User Conference -- Technical Workshop,

Esri UC 2014 | Technical Workshop | Esri UC 2014 | Technical Workshop |

and MVVM, and location display, and… Editing

Developing Mobile Apps with the ArcGIS Runtime SDK for .NET

Page 23: Developing Mobile Apps with the ArcGIS Runtime SDK for · 2014. 8. 5. · 2014 Esri User Conference -- Technical Workshop Keywords: 2014 Esri User Conference -- Technical Workshop,

Esri UC 2014 | Technical Workshop | Esri UC 2014 | Technical Workshop |

pulling the plug Going Offline

Developing Mobile Apps with the ArcGIS Runtime SDK for .NET

Page 24: Developing Mobile Apps with the ArcGIS Runtime SDK for · 2014. 8. 5. · 2014 Esri User Conference -- Technical Workshop Keywords: 2014 Esri User Conference -- Technical Workshop,

Esri UC 2014 | Technical Workshop |

Taking Data Offline – Tiled Map Services

• Use ExportTileCacheTask to take tiled map services offline - GenerateTileCacheAsync – creates a tile package (.tpk) or compact cache

- DownloadTileCacheAsync – downloads a .tpk or compact cache

- GenerateTileCacheAndDownloadAsync – does both in one call

• Feature services – use GeodatabaseSyncTask - GenerateGeodatabaseAsync – creates a geodatabase

- Use ArcGISHttpClient to download the result

Developing Mobile Apps with the ArcGIS Runtime SDK for .NET

Page 25: Developing Mobile Apps with the ArcGIS Runtime SDK for · 2014. 8. 5. · 2014 Esri User Conference -- Technical Workshop Keywords: 2014 Esri User Conference -- Technical Workshop,

Esri UC 2014 | Technical Workshop |

Taking Data Offline – Feature Services

• GeodatabaseSyncTask – take feature services offline - GenerateGeodatabaseAsync – creates a geodatabase

- Use ArcGISHttpClient to download the result

Developing Mobile Apps with the ArcGIS Runtime SDK for .NET

Page 26: Developing Mobile Apps with the ArcGIS Runtime SDK for · 2014. 8. 5. · 2014 Esri User Conference -- Technical Workshop Keywords: 2014 Esri User Conference -- Technical Workshop,

Esri UC 2014 | Technical Workshop | Esri UC 2014 | Technical Workshop |

let’s pull the plug…

Going Offline

Demo

Developing Mobile Apps with the ArcGIS Runtime SDK for .NET

Page 27: Developing Mobile Apps with the ArcGIS Runtime SDK for · 2014. 8. 5. · 2014 Esri User Conference -- Technical Workshop Keywords: 2014 Esri User Conference -- Technical Workshop,

Esri UC 2014 | Technical Workshop |

Sync – Reconnecting with the Data Source

• GeodatabaseSyncTask.SyncGeodatabaseAsync - Push updates from the client and download changes from the service - Only changes (deltas) are downloaded/uploaded

Developing Mobile Apps with the ArcGIS Runtime SDK for .NET

Page 28: Developing Mobile Apps with the ArcGIS Runtime SDK for · 2014. 8. 5. · 2014 Esri User Conference -- Technical Workshop Keywords: 2014 Esri User Conference -- Technical Workshop,

Esri UC 2014 | Technical Workshop | Esri UC 2014 | Technical Workshop |

plugging back in

Sync

Demo

Developing Mobile Apps with the ArcGIS Runtime SDK for .NET

Page 29: Developing Mobile Apps with the ArcGIS Runtime SDK for · 2014. 8. 5. · 2014 Esri User Conference -- Technical Workshop Keywords: 2014 Esri User Conference -- Technical Workshop,

Esri UC 2014 | Technical Workshop |

Fully Disconnected Workflows

• Create Runtime Content from ArcMap and include in application • ArcGISLocalTiledLayer – tile packages • FeatureLayer – geodatabases and shapefiles (coming soon)

Developing Mobile Apps with the ArcGIS Runtime SDK for .NET

Page 30: Developing Mobile Apps with the ArcGIS Runtime SDK for · 2014. 8. 5. · 2014 Esri User Conference -- Technical Workshop Keywords: 2014 Esri User Conference -- Technical Workshop,

Esri UC 2014 | Technical Workshop | Esri UC 2014 | Technical Workshop |

Disconnected Workflows: Using Runtime Content

Demo

Developing Mobile Apps with the ArcGIS Runtime SDK for .NET

Page 31: Developing Mobile Apps with the ArcGIS Runtime SDK for · 2014. 8. 5. · 2014 Esri User Conference -- Technical Workshop Keywords: 2014 Esri User Conference -- Technical Workshop,

Esri UC 2014 | Technical Workshop | Esri UC 2014 | Technical Workshop |

Routing & Geocoding

Developing Mobile Apps with the ArcGIS Runtime SDK for .NET

Page 32: Developing Mobile Apps with the ArcGIS Runtime SDK for · 2014. 8. 5. · 2014 Esri User Conference -- Technical Workshop Keywords: 2014 Esri User Conference -- Technical Workshop,

Esri UC 2014 | Technical Workshop | Esri UC 2014 | Technical Workshop |

extending your device with your devices

Native Device Capabilities

Developing Mobile Apps with the ArcGIS Runtime SDK for .NET

Page 33: Developing Mobile Apps with the ArcGIS Runtime SDK for · 2014. 8. 5. · 2014 Esri User Conference -- Technical Workshop Keywords: 2014 Esri User Conference -- Technical Workshop,

Esri UC 2014 | Technical Workshop |

What’s coming…

Developing Mobile Apps with the ArcGIS Runtime SDK for .NET

Page 34: Developing Mobile Apps with the ArcGIS Runtime SDK for · 2014. 8. 5. · 2014 Esri User Conference -- Technical Workshop Keywords: 2014 Esri User Conference -- Technical Workshop,

Esri UC 2014 | Technical Workshop |

• Raster layers – create from local raster data (GDAL)

• New vector layers – create from local vector data (geopackage, shapefile, kml)

• Analysis functions - add to your layers

• 3D viewing

• More offline capabilities - Feature service table – equivalence with ArcGISFeatureLayer - Versioned data support

• Better support for authoring/reading maps

• @ Next release: Some APIs will release items before others… • @ Next, Next release: APIs will be back in sync

Developing Mobile Apps with the ArcGIS Runtime SDK for .NET

Future Releases

Page 35: Developing Mobile Apps with the ArcGIS Runtime SDK for · 2014. 8. 5. · 2014 Esri User Conference -- Technical Workshop Keywords: 2014 Esri User Conference -- Technical Workshop,

Esri UC 2014 | Technical Workshop | Esri UC 2014 | Technical Workshop |

UC Runtime Sessions

Developing Mobile Apps with the ArcGIS Runtime SDK for .NET

Page 36: Developing Mobile Apps with the ArcGIS Runtime SDK for · 2014. 8. 5. · 2014 Esri User Conference -- Technical Workshop Keywords: 2014 Esri User Conference -- Technical Workshop,

Esri UC 2014 | Technical Workshop |

ArcGIS Runtime SDK Sessions – Thursday

Session Name Time Location

ArcGIS Runtime SDKs: The Road Ahead

1:30pm – 2:45pm Room 07 A/B

Developing Mobile Apps with the ArcGIS Runtime SDK for .NET

Page 37: Developing Mobile Apps with the ArcGIS Runtime SDK for · 2014. 8. 5. · 2014 Esri User Conference -- Technical Workshop Keywords: 2014 Esri User Conference -- Technical Workshop,

Esri UC 2014 | Technical Workshop |

Thank you…

• Please fill out the session survey:

Offering ID: 1665

Online – www.esri.com/ucsessionsurveys Paper – pick up and put in drop box

Developing Mobile Apps with the ArcGIS Runtime SDK for .NET

Page 38: Developing Mobile Apps with the ArcGIS Runtime SDK for · 2014. 8. 5. · 2014 Esri User Conference -- Technical Workshop Keywords: 2014 Esri User Conference -- Technical Workshop,

Esri UC 2014 | Technical Workshop | Developing Mobile Apps with the ArcGIS Runtime SDK for .NET