developing ios and mac apps with the arcgis runtime sdk€¦ · 2015 esri asia pacific user...

37
Developing iOS and Mac Apps with the ArcGIS Runtime SDK Ben Ramseth Esri Inc. Instructor Technical Lead

Upload: others

Post on 29-Jun-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Developing iOS and Mac Apps with the ArcGIS Runtime SDK€¦ · 2015 Esri Asia Pacific User Conference--Presentation, 2015 Esri Asia Pacific User Conference, Developing iOS and Mac

Developing iOS and Mac Apps with the

ArcGIS Runtime SDKBen Ramseth – Esri Inc.

Instructor Technical Lead

Page 2: Developing iOS and Mac Apps with the ArcGIS Runtime SDK€¦ · 2015 Esri Asia Pacific User Conference--Presentation, 2015 Esri Asia Pacific User Conference, Developing iOS and Mac

Instructor Technical Lead

Esri – Inc USA, Charlotte, NC

[email protected]

@EsriMapNinja

https://github.com/BennyBaruba/

Ben Ramseth

Page 3: Developing iOS and Mac Apps with the ArcGIS Runtime SDK€¦ · 2015 Esri Asia Pacific User Conference--Presentation, 2015 Esri Asia Pacific User Conference, Developing iOS and Mac

I’m here to help you get

started with the ArcGIS

Runtime SDK for iOS/OS XSo let’s get started…

Page 4: Developing iOS and Mac Apps with the ArcGIS Runtime SDK€¦ · 2015 Esri Asia Pacific User Conference--Presentation, 2015 Esri Asia Pacific User Conference, Developing iOS and Mac

Your Apple application building blocks to access the ArcGIS

platform.

What are the ArcGIS Runtime

SDK’s for iOS and OS X?

Page 5: Developing iOS and Mac Apps with the ArcGIS Runtime SDK€¦ · 2015 Esri Asia Pacific User Conference--Presentation, 2015 Esri Asia Pacific User Conference, Developing iOS and Mac

Runtime

platforms

QT

OS X

Windows Store

JavaSE

WindowsMobile

iOS

Android

Windows Phone

Mobile

Desktop

Embedded

.NET

DesktopClient

Page 6: Developing iOS and Mac Apps with the ArcGIS Runtime SDK€¦ · 2015 Esri Asia Pacific User Conference--Presentation, 2015 Esri Asia Pacific User Conference, Developing iOS and Mac

Creating a hello world mapping app with my data

Xcode Demo…

Starting simple

Page 7: Developing iOS and Mac Apps with the ArcGIS Runtime SDK€¦ · 2015 Esri Asia Pacific User Conference--Presentation, 2015 Esri Asia Pacific User Conference, Developing iOS and Mac

Glad you asked…

So how do I get started with

the ArcGIS Runtime for iOS

and OS X?

Page 8: Developing iOS and Mac Apps with the ArcGIS Runtime SDK€¦ · 2015 Esri Asia Pacific User Conference--Presentation, 2015 Esri Asia Pacific User Conference, Developing iOS and Mac

To get started…

• Intel-based Mac

- OSX 10.7, 10.8, 10.9 or 10.10(Lion, Mountain Lion, Mavericks or Yosemite )

• Xcode from the App Store

- Simulator

- iOS SDK

• ArcGIS Runtime for iOS or OS X v10.2.4

To test and deploy on actual hardware or older iOS…

• Join Apple’s iOS Developer Program

- Standard : AppStore distribution

- Enterprise : In-House distribution

Page 9: Developing iOS and Mac Apps with the ArcGIS Runtime SDK€¦ · 2015 Esri Asia Pacific User Conference--Presentation, 2015 Esri Asia Pacific User Conference, Developing iOS and Mac

I’ll show you…

So what resources are available

from Esri to help me build apps?

Page 10: Developing iOS and Mac Apps with the ArcGIS Runtime SDK€¦ · 2015 Esri Asia Pacific User Conference--Presentation, 2015 Esri Asia Pacific User Conference, Developing iOS and Mac

Online documentation at developers.arcgis.com

https://developers.arcgis.com/ios/

https://developers.arcgis.com/os-x/

Page 11: Developing iOS and Mac Apps with the ArcGIS Runtime SDK€¦ · 2015 Esri Asia Pacific User Conference--Presentation, 2015 Esri Asia Pacific User Conference, Developing iOS and Mac

You bet we do…samples, samples and more samples.

Does Esri have resources on

Github?

Page 12: Developing iOS and Mac Apps with the ArcGIS Runtime SDK€¦ · 2015 Esri Asia Pacific User Conference--Presentation, 2015 Esri Asia Pacific User Conference, Developing iOS and Mac

Esri on Github

•https://github.com/Esri/arcgis-

runtime-samples-ios

Page 13: Developing iOS and Mac Apps with the ArcGIS Runtime SDK€¦ · 2015 Esri Asia Pacific User Conference--Presentation, 2015 Esri Asia Pacific User Conference, Developing iOS and Mac

All the code…right where you need it.

Xcode Demo…

Let’s take a look at those

samples

Page 14: Developing iOS and Mac Apps with the ArcGIS Runtime SDK€¦ · 2015 Esri Asia Pacific User Conference--Presentation, 2015 Esri Asia Pacific User Conference, Developing iOS and Mac

We have those available in a special samples app the comes with

the SDK download.

What about samples for OS

X?

Page 15: Developing iOS and Mac Apps with the ArcGIS Runtime SDK€¦ · 2015 Esri Asia Pacific User Conference--Presentation, 2015 Esri Asia Pacific User Conference, Developing iOS and Mac

Samples at your figure tips…

Demo…

OS X samples app

Page 16: Developing iOS and Mac Apps with the ArcGIS Runtime SDK€¦ · 2015 Esri Asia Pacific User Conference--Presentation, 2015 Esri Asia Pacific User Conference, Developing iOS and Mac

Ok, let me show you what’s possible…

I want to know more about

the functionality available in

the SDK’s

Page 17: Developing iOS and Mac Apps with the ArcGIS Runtime SDK€¦ · 2015 Esri Asia Pacific User Conference--Presentation, 2015 Esri Asia Pacific User Conference, Developing iOS and Mac

• UI Component : AGSMapView

- Responds to gestures

- Pinch to zoom & rotate

- Drag to pan

- Tap & Hold to magnify

- Displays GPS location

- Auto pan modes

- Default (pan as necessary)

- Driving (rotate map by course)

- Walking (rotate map by heading)

More about the Map…

Page 18: Developing iOS and Mac Apps with the ArcGIS Runtime SDK€¦ · 2015 Esri Asia Pacific User Conference--Presentation, 2015 Esri Asia Pacific User Conference, Developing iOS and Mac

Performing Analysis

• Using Tasks

• Query / Find / Identify

- Search for features In the map

• Geoprocessing

- Spatial analysis using GP tools and models

• Locator

- Geocode and reverse geocode addresses

- ArcGIS World Geocoder (POI, Global Find, etc.)

Page 19: Developing iOS and Mac Apps with the ArcGIS Runtime SDK€¦ · 2015 Esri Asia Pacific User Conference--Presentation, 2015 Esri Asia Pacific User Conference, Developing iOS and Mac

Performing Analysis

• Using Tasks

• Geometry Service

- Perform geometry operations on the server

• Routing Task

- Point-to-point and multipoint driving directions

- Barriers, Time Windows, Best Sequence

• Closest Facility Task

- Find nearest facility

• Service Area Task

- Compute drive times and service areas

Page 20: Developing iOS and Mac Apps with the ArcGIS Runtime SDK€¦ · 2015 Esri Asia Pacific User Conference--Presentation, 2015 Esri Asia Pacific User Conference, Developing iOS and Mac

Task Pattern

1. Create & Connect.

2. Set up parameters. Send.

3. Get Results.

Page 21: Developing iOS and Mac Apps with the ArcGIS Runtime SDK€¦ · 2015 Esri Asia Pacific User Conference--Presentation, 2015 Esri Asia Pacific User Conference, Developing iOS and Mac

Performing Analysis

• Native

• Geometry Engine

- High-performance engine for performing geometric

operations on the device

- Buffer

- Union

- Cut

- Project

- Geodesic

- Spatial relationships

- etc.

Page 22: Developing iOS and Mac Apps with the ArcGIS Runtime SDK€¦ · 2015 Esri Asia Pacific User Conference--Presentation, 2015 Esri Asia Pacific User Conference, Developing iOS and Mac

Visualizing Results

• Graphics

- Geometry

- Attributes

- Symbol

• Symbols

- Picture, Marker, Line, Fill

- Composite

- Text

Page 23: Developing iOS and Mac Apps with the ArcGIS Runtime SDK€¦ · 2015 Esri Asia Pacific User Conference--Presentation, 2015 Esri Asia Pacific User Conference, Developing iOS and Mac

No connection needed…

Offline API

Page 24: Developing iOS and Mac Apps with the ArcGIS Runtime SDK€¦ · 2015 Esri Asia Pacific User Conference--Presentation, 2015 Esri Asia Pacific User Conference, Developing iOS and Mac

Adding data to the ArcGIS cloud

Publish Hosted Services using

ArcGIS OnlineDiscover and

update maps on

Devices

Spatial Data In

Define Client Feature

Editing Model on item

Create and Share Web

Maps in ArcGIS Online

Edits

CSV

SHP

Export Spatial Data Out

ArcGIS

KML

GPX

CSV

SHP

Page 25: Developing iOS and Mac Apps with the ArcGIS Runtime SDK€¦ · 2015 Esri Asia Pacific User Conference--Presentation, 2015 Esri Asia Pacific User Conference, Developing iOS and Mac

Offline Map Capabilities Disconnected Use of the ArcGIS Platform

• Viewing and Interacting with Maps

• Querying Data

• Editing Features

- Synchronization

• Spatial Intelligence

- Find places and locations

- Get directions

• Pre-planned or On-demand Workflows

• Occasionally Connected Scenarios

• All Runtime SDKs*

Page 26: Developing iOS and Mac Apps with the ArcGIS Runtime SDK€¦ · 2015 Esri Asia Pacific User Conference--Presentation, 2015 Esri Asia Pacific User Conference, Developing iOS and Mac

From ArcGIS Online

Author

Map

Prepare

View

Query

Analyze

Edit

Synchronize

Download

Page 27: Developing iOS and Mac Apps with the ArcGIS Runtime SDK€¦ · 2015 Esri Asia Pacific User Conference--Presentation, 2015 Esri Asia Pacific User Conference, Developing iOS and Mac

How Does Sync Work?The Flow of Data

Generate

geodatabase

enabled for sync

Feature

service

with sync

enabled

Adds, edits, deletes

Generate delta

geodatabase

Upload delta

Apply response to

geodatabase

Page 28: Developing iOS and Mac Apps with the ArcGIS Runtime SDK€¦ · 2015 Esri Asia Pacific User Conference--Presentation, 2015 Esri Asia Pacific User Conference, Developing iOS and Mac

Making it happen…

Runtime Licensing

Page 29: Developing iOS and Mac Apps with the ArcGIS Runtime SDK€¦ · 2015 Esri Asia Pacific User Conference--Presentation, 2015 Esri Asia Pacific User Conference, Developing iOS and Mac

Runtime Licensing

Page 30: Developing iOS and Mac Apps with the ArcGIS Runtime SDK€¦ · 2015 Esri Asia Pacific User Conference--Presentation, 2015 Esri Asia Pacific User Conference, Developing iOS and Mac

License levels and functionality

License Level Available functionality

Developer (development and testing only) All functionality(watermarks and debug messages will be generated, nag

screens with local server*)

Basic Connected - all functionality

Offline - map viewing only

Standard Connected and offline - all functionality, includes:

• Local locators (geocoding)

• Local routing

• Local geodatabase editing

• Local geodatabase sync operations

• Local server*

* For those SDKs that support it

Page 31: Developing iOS and Mac Apps with the ArcGIS Runtime SDK€¦ · 2015 Esri Asia Pacific User Conference--Presentation, 2015 Esri Asia Pacific User Conference, Developing iOS and Mac

How to license your app at the basic level

• http://developers.arcgis.com

• Under Application section, create a

New Application (or select existing)

• Click on Runtime SDK Licensing

• Copy the Client ID and use it to set

your clientID

Page 32: Developing iOS and Mac Apps with the ArcGIS Runtime SDK€¦ · 2015 Esri Asia Pacific User Conference--Presentation, 2015 Esri Asia Pacific User Conference, Developing iOS and Mac

How to license your app at the standard level

• You have 2 options:

1. Use an organization account (ArcGIS Online or Portal for ArcGIS)

- Requires users of your app to log in with their account

1. Use a license string obtained from Customer Service or your international

distributor

- License burnt into the app

- Extensions can also be added with this option

For more info speak to sales or product management

Page 33: Developing iOS and Mac Apps with the ArcGIS Runtime SDK€¦ · 2015 Esri Asia Pacific User Conference--Presentation, 2015 Esri Asia Pacific User Conference, Developing iOS and Mac

…go try them for yourself.

Now that I have provided you

an overview of the ArcGIS

Runtime for SDK’s iOS/OS X …

Page 34: Developing iOS and Mac Apps with the ArcGIS Runtime SDK€¦ · 2015 Esri Asia Pacific User Conference--Presentation, 2015 Esri Asia Pacific User Conference, Developing iOS and Mac

Instructor Technical Lead

Esri – Inc USA, Charlotte, NC

[email protected]

@EsriMapNinja

https://github.com/BennyBaruba/

Ben Ramseth

Thanks…Let’s have some questions

Page 35: Developing iOS and Mac Apps with the ArcGIS Runtime SDK€¦ · 2015 Esri Asia Pacific User Conference--Presentation, 2015 Esri Asia Pacific User Conference, Developing iOS and Mac
Page 36: Developing iOS and Mac Apps with the ArcGIS Runtime SDK€¦ · 2015 Esri Asia Pacific User Conference--Presentation, 2015 Esri Asia Pacific User Conference, Developing iOS and Mac
Page 37: Developing iOS and Mac Apps with the ArcGIS Runtime SDK€¦ · 2015 Esri Asia Pacific User Conference--Presentation, 2015 Esri Asia Pacific User Conference, Developing iOS and Mac