1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
//// Copyright 2016 Esri.//// Licensed under the Apache License, Version 2.0 (the "License");// you may not use this file except in compliance with the License.// You may obtain a copy of the License at//// http://www.apache.org/licenses/LICENSE-2.0//// Unless required by applicable law or agreed to in writing, software// distributed under the License is distributed on an "AS IS" BASIS,// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.// See the License for the specific language governing permissions and// limitations under the License.//import UIKit
import ArcGIS
classOpenMobileMapViewController: UIViewController{
@IBOutletvar mapView: AGSMapView!
privatevar mapPackage: AGSMobileMapPackage!
overridefuncviewDidLoad() {
super.viewDidLoad()
// add the source code button item to the right of navigation bar (self.navigationItem.rightBarButtonItem as!SourceCodeBarButtonItem).filenames = ["OpenMobileMapViewController"]
// initialize map packageself.mapPackage =AGSMobileMapPackage(name: "Yellowstone")
// load map packageself.mapPackage.load { [weakself] (error: Error?) inguardletself=selfelse {
return }
iflet error = error {
self.presentAlert(error: error)
} elseiflet map =self.mapPackage.maps.first {
// assign the first map from the map package to the map viewself.mapView.map = map
} else {
self.presentAlert(message: "No mobile maps found in the map package")
}
}
}
}