20
ArcGIS Runtime SDKs: Buliding Apple Apps Nick Furness & Ben Ramseth February 11, 2015 | Washington, DC DevSummit DC

ArcGIS Runtime SDKs: Building Apple Apps · CocoaPods.org • Alcatraz.io (Xcode Plugin Manager) ... 2015 Esri Developer Summit--Presentation, 2015 Esri Developer Summit, ArcGIS Runtime

  • Upload
    others

  • View
    15

  • Download
    0

Embed Size (px)

Citation preview

Page 1: ArcGIS Runtime SDKs: Building Apple Apps · CocoaPods.org • Alcatraz.io (Xcode Plugin Manager) ... 2015 Esri Developer Summit--Presentation, 2015 Esri Developer Summit, ArcGIS Runtime

ArcGIS Runtime SDKs:Buliding Apple Apps

Nick Furness & Ben Ramseth

February 11, 2015 | Washington, DC

DevSummit DC

Page 2: ArcGIS Runtime SDKs: Building Apple Apps · CocoaPods.org • Alcatraz.io (Xcode Plugin Manager) ... 2015 Esri Developer Summit--Presentation, 2015 Esri Developer Summit, ArcGIS Runtime

Runtime platforms

QT

OS X

Windows Store

JavaSE

WindowsMobile

iOS

Android

Windows Phone

Mobile

Desktop

Embedded

.NET

DesktopClient

Page 3: ArcGIS Runtime SDKs: Building Apple Apps · CocoaPods.org • Alcatraz.io (Xcode Plugin Manager) ... 2015 Esri Developer Summit--Presentation, 2015 Esri Developer Summit, ArcGIS Runtime

Agenda

• Developer Environment• Showing a Map• Geocoding• Routing• GPS

Page 4: ArcGIS Runtime SDKs: Building Apple Apps · CocoaPods.org • Alcatraz.io (Xcode Plugin Manager) ... 2015 Esri Developer Summit--Presentation, 2015 Esri Developer Summit, ArcGIS Runtime

Developer Environment

• You will need…- Intel-based Mac (OS X 10.8.4 or newer)- Xcode 5 or 6 (iOS 6.1/7/8)- Apple Developer Account

Page 5: ArcGIS Runtime SDKs: Building Apple Apps · CocoaPods.org • Alcatraz.io (Xcode Plugin Manager) ... 2015 Esri Developer Summit--Presentation, 2015 Esri Developer Summit, ArcGIS Runtime

Apple Developer Account

• $99 (or Enterprise) from developer.apple.com

• Real World Testing- Bandwidth- Latency

developer.apple.com

Shake

MultitouchGestures

CameraPedometerGPS

AccelerometerBarometer

Page 6: ArcGIS Runtime SDKs: Building Apple Apps · CocoaPods.org • Alcatraz.io (Xcode Plugin Manager) ... 2015 Esri Developer Summit--Presentation, 2015 Esri Developer Summit, ArcGIS Runtime

… ArcGIS Runtime SDK for iOS/OS X developers.arcgis.com/ios

Page 7: ArcGIS Runtime SDKs: Building Apple Apps · CocoaPods.org • Alcatraz.io (Xcode Plugin Manager) ... 2015 Esri Developer Summit--Presentation, 2015 Esri Developer Summit, ArcGIS Runtime

Set up your project

Or… manual install…- esriurl.com / iosinstall

source 'https://github.com/CocoaPods/Specs.git’

pod 'ArcGIS-Runtime-SDK-iOS’

• Create a PodFile in the project folder- pod install

pod 'ArcGIS-Runtime-SDK-OSX’

Page 8: ArcGIS Runtime SDKs: Building Apple Apps · CocoaPods.org • Alcatraz.io (Xcode Plugin Manager) ... 2015 Esri Developer Summit--Presentation, 2015 Esri Developer Summit, ArcGIS Runtime

NickHello World

Page 9: ArcGIS Runtime SDKs: Building Apple Apps · CocoaPods.org • Alcatraz.io (Xcode Plugin Manager) ... 2015 Esri Developer Summit--Presentation, 2015 Esri Developer Summit, ArcGIS Runtime

Hello World - Review

• Add basemap layer• Zoom• Add feature layer• Symbolize• Show Popup• Open Map

• And CocoaPods…

Page 10: ArcGIS Runtime SDKs: Building Apple Apps · CocoaPods.org • Alcatraz.io (Xcode Plugin Manager) ... 2015 Esri Developer Summit--Presentation, 2015 Esri Developer Summit, ArcGIS Runtime

BenTasks

Page 11: ArcGIS Runtime SDKs: Building Apple Apps · CocoaPods.org • Alcatraz.io (Xcode Plugin Manager) ... 2015 Esri Developer Summit--Presentation, 2015 Esri Developer Summit, ArcGIS Runtime

Task Pattern

• AGSTask… (Route, Locator, Geoprocessor, Query, ServiceArea, etc..)

1. Create

2. Send

3. Handle

Page 12: ArcGIS Runtime SDKs: Building Apple Apps · CocoaPods.org • Alcatraz.io (Xcode Plugin Manager) ... 2015 Esri Developer Summit--Presentation, 2015 Esri Developer Summit, ArcGIS Runtime

Geocoding

• AGSLocator

1. Create with URL

2. Send parameters

3. Handle result

Page 13: ArcGIS Runtime SDKs: Building Apple Apps · CocoaPods.org • Alcatraz.io (Xcode Plugin Manager) ... 2015 Esri Developer Summit--Presentation, 2015 Esri Developer Summit, ArcGIS Runtime

Ben

Search / Geocoding

Page 14: ArcGIS Runtime SDKs: Building Apple Apps · CocoaPods.org • Alcatraz.io (Xcode Plugin Manager) ... 2015 Esri Developer Summit--Presentation, 2015 Esri Developer Summit, ArcGIS Runtime

Geocoding

• AGSLocator

1. Create with URL

2. Send parameters

3. Handle result

let locator = AGSLocator(URL: NSURL(string: …))

let params = AGSLocatorFindParameters()params.text = …locator.findWithParameters(params)

func locator(locator: AGSLocator!, operation op: NSOperation!, didFind results: [AnyObject]!) {if results.count > 0 {

if let location = results[0] as? AGSLocatorFindResult {self.mapView.zoomToEnvelope(location.extent, animated: true)

}}

}

Page 15: ArcGIS Runtime SDKs: Building Apple Apps · CocoaPods.org • Alcatraz.io (Xcode Plugin Manager) ... 2015 Esri Developer Summit--Presentation, 2015 Esri Developer Summit, ArcGIS Runtime

Hints/Reminders: Task Pattern

• Set up a delegate

• Hold on to the Task Object- Must stay alive to receive the response!

• Output Spatial Reference?

Page 16: ArcGIS Runtime SDKs: Building Apple Apps · CocoaPods.org • Alcatraz.io (Xcode Plugin Manager) ... 2015 Esri Developer Summit--Presentation, 2015 Esri Developer Summit, ArcGIS Runtime

BenRouting

Page 17: ArcGIS Runtime SDKs: Building Apple Apps · CocoaPods.org • Alcatraz.io (Xcode Plugin Manager) ... 2015 Esri Developer Summit--Presentation, 2015 Esri Developer Summit, ArcGIS Runtime

Task Pattern

• AGSTask… (Route, Locator, Geoprocessor, Query, ServiceArea, etc..)

1. Create

2. Send

3. Handle

Page 18: ArcGIS Runtime SDKs: Building Apple Apps · CocoaPods.org • Alcatraz.io (Xcode Plugin Manager) ... 2015 Esri Developer Summit--Presentation, 2015 Esri Developer Summit, ArcGIS Runtime

Routing / Directions

• AGSRouteTask

1. Create with URL

2. Send parameters (AGSRouteTaskParameters)

3. Handle result (AGSRouteResult – Graphic and turn-by-turn directions)

Page 19: ArcGIS Runtime SDKs: Building Apple Apps · CocoaPods.org • Alcatraz.io (Xcode Plugin Manager) ... 2015 Esri Developer Summit--Presentation, 2015 Esri Developer Summit, ArcGIS Runtime

GPS

• AGSMapViewAGSLocationDisplay

• Abstracted by the Map View

• Modes for Driving, Walking, simple auto-panning

Page 20: ArcGIS Runtime SDKs: Building Apple Apps · CocoaPods.org • Alcatraz.io (Xcode Plugin Manager) ... 2015 Esri Developer Summit--Presentation, 2015 Esri Developer Summit, ArcGIS Runtime

• developers.arcgis.com • developer.apple.com

Resources

• esri.github.io/#iOS• CocoaPods.org• Alcatraz.io (Xcode Plugin Manager)

• NSHipster.com• Cocoaheads• CocoaConf

Nick Furness:[email protected]

@geeknixta

Ben [email protected]

@EsriMapNinja

esriurl.com/DSDC15Apple