00:01The mobile platforms that we support have both applications and SDKs.
00:05The applications many of you are familiar with.
00:08You've downloaded them, and you've used them to access web maps that you've authored.
00:13Well we use our own SDKs to build these applications so that means that all the functionality that you're seeing...
00:20...you have access to as developers when you're building your custom workflow.
00:24So I'd like to show you a custom application today.
00:26It's built using the ArcGIS Runtime SDK for iOS, and we've used the latest version of the SDK...
00:33...which is version 2.2 which will be available for you this week.
00:37However, most of the functionality I'm about to show you is available for you right now.
00:42So here's the application.
00:44On the left-hand side, we've got some UI views that are displaying some textual content...
00:50...and, of course, we've got our map over on the other side.
00:53The map is loading basemap data from ArcGIS Online, and we've draped over some operational data.
01:00One of the new capabilities of the SDK is that it gives you access to your organizational content through a new class...
01:09...called AGS portal.
01:10So we see here that I've got a number of online basemaps that I can choose from...
01:14...and this is the content that my company has published through their subscription.
01:18I've also got some local basemaps here.
01:21These are basemaps that have been provisioned using the tile package and put directly on the device.
01:27So let's go ahead and use one of these local basemaps.
01:31One of the big advantages of native application development is that you have access to different components of both...
01:38...the device but as well as the system, like other applications.
01:42For example, I've got my e-mail application here. I've got a CSV file attached.
01:48I've registered this file type with my application, such that when I tap and hold, I can tell my application to open this file.
01:56We've parsed the information, and we've put the stops on a graphics layer.
02:00Another component of the system that we can access is the address book through the address book class.
02:06So we see here that I have taken out my many, many contacts and friends, and I've put them over here in a UI view.
02:15Now besides the fact that I really don't have a lot of friends here...
02:19...we can access the individual bits of information in each one of these contacts.
02:23For example, we can get at the address information, and we can send that information to a geocoding service...
02:32...and plot the location of the map.
02:35And we'll go ahead and we'll specify that we want this to be one of our stops.
02:39You may notice that also on the left-hand side, I've stacked a number of UI views...
02:44...and this is so we can maximize map real estate for this iPad form factor.
02:49But if I wanted to take a look at the views underneath, I could simply expand them.
02:53Here we see in the middle I've got a list of my stops.
02:56I'm going to go ahead and select that one.
02:58I'm also going to just reorder a little bit my stops, and now we're going to get the optimal route.
03:06So that actually happened pretty fast, so let me explain what we did there.
03:10We used a routing task and we sent a request to a network analyst service passing in all of our stops.
03:17That network analyst service determined the optimal route...
03:21...sent that route back to us along with a list of directions that we've also displayed here. Okay?
03:26The SDK also supports custom network routes.
03:30So I know a lot of you out there have leased lines or privates roads that you need to navigate on.
03:35The SDK will support any custom routing services as well.
03:40The SDK allows you to build applications that let your users stay productive when they're offline.
03:47So in order to demonstrate that, I need to actually bring all of the data offline.
03:51Now, we already have the basemap data offline, right?
03:54We've deployed that as a tile package directly to the device.
03:59We've instantiated and instance of a local tile layer class, and we've added that to the map view...
04:04...so the basemap is already offline.
04:07But we need to bring those features down as well.
04:09So let's go ahead and download them.
04:11So what we're doing now is, we are sending a query to a feature service.
04:15We're taking those features, and we're storing them in memory. Okay.
04:19So that happened pretty quickly.
04:21We downloaded probably about 7,000, 7,500 features in just a few seconds.
04:27Okay. We're ready to go offline.
04:31So let's go ahead and do that.
04:33We'll come back to our application.
04:35We see here that I've got no 3G access, no Wi-Fi access, yet I still have access to all of my rich data...
04:42...and it's actually very, very fast, too.
04:48Another capability of the SDK that you may not be aware of is this autopan feature...
04:52...and that's been there since the last release.
04:55And the autopan feature exposes a property called Autopan Mode that allows you to see where you are in the field.
05:01So I'm going to go ahead and activate it.
05:03Now, of course, I'm simulating myself moving through the field.
05:07But what the autopan feature does is that it communicates with the GPS of your device, keeping you located on the map...
05:14...and also centers the map wherever you are.
05:17So that's that autopan feature.
05:21Okay. Another big advantage of native application development is that you can integrate third-party SDKs.
05:29And so that's what we've done here for this application.
05:32We've integrated a third-party SDK called the Zebra Crossing, and what it does is, it's a QR code reader.
05:39So I'm going to go ahead and start it.
05:41I'm just going to pick up the device here.
05:43As you can guess, I just happen to have a QR code.
05:46So I'm going to scan it. I'm just going to do this very.
05:49First I'm going to shut the application off, and then bring it back.
05:53Okay. So there are some people awake. That's good. Okay.
05:57So we're going to go ahead. We're going to scan this feature. Excellent.
06:02That QR code is a custom URI pointing to a feature in our map.
06:07We get at that feature. We display it on the map, and we also get at the attribute information.
06:13Okay. So just because I'm offline doesn't mean that I can't get my work done.
06:16So let's go ahead and inspect this feature.
06:19The SDK supports coded value domain, so I get a list here that I can choose from.
06:24I can also attach features. I can attach photos.
06:28I can attach videos, PDFs, et cetera.
06:31So this photo looks good, and actually this inspection looks good.
06:35So let's go ahead and we'll sign off on it and we'll save this inspection, tapping the check mark.
06:42So that's great. We've created a new feature.
06:44The problem is, is that this feature is only local to the device. No one else can see it.
06:49So, when we do get connectivity back, we can simply come back to our application and sync.
06:59So what we've done here is we've taken that new feature out of the cache, and we've posted it to a feature service.
07:05And now it's available for anybody to access and see throughout our whole organization.
07:10So, in summary, this application was built with our latest version of the SDK, 2.2, that's going to be available for you this week.
07:19However, most of the functionality I just showed you is available for you right now.
Building Applications with ArcGIS Runtime SDK for iOS
David Cardella shows a custom application built using ArcGIS Runtime SDK for iOS.
- Recorded: Mar 26th, 2012
- Runtime: 07:29
- Views: 961
- Published: Apr 19th, 2012
- Night Mode (Off)Automatically dim the web site while the video is playing. A few seconds after you start watching the video and stop moving your mouse, your screen will dim. You can auto save this option if you login.
- HTML5 Video (Off) Play videos using HTML5 Video instead of flash. A modern web browser is required to view videos using HTML5.