@@ -38,6 +38,9 @@ enum GPXTileServer: Int {
38
38
/// OpenTopoMap tile server
39
39
case openTopoMap
40
40
41
+ /// OpenSeaMap tile server
42
+ case openSeaMap
43
+
41
44
///String that describes the selected tile server.
42
45
var name : String {
43
46
switch self {
@@ -47,6 +50,7 @@ enum GPXTileServer: Int {
47
50
case . cartoDB: return " Carto DB "
48
51
case . cartoDBRetina: return " Carto DB (Retina resolution) "
49
52
case . openTopoMap: return " OpenTopoMap "
53
+ case . openSeaMap: return " OpenSeaMap "
50
54
}
51
55
}
52
56
@@ -59,6 +63,7 @@ enum GPXTileServer: Int {
59
63
case . cartoDB: return " https://{s}.basemaps.cartocdn.com/rastertiles/voyager/{z}/{x}/{y}.png "
60
64
case . cartoDBRetina: return " https://{s}.basemaps.cartocdn.com/rastertiles/voyager/{z}/{x}/{y}@2x.png "
61
65
case . openTopoMap: return " https://{s}.tile.opentopomap.org/{z}/{x}/{y}.png "
66
+ case . openSeaMap: return " https://tiles.openseamap.org/seamark/{z}/{x}/{y}.png "
62
67
}
63
68
}
64
69
@@ -76,6 +81,7 @@ enum GPXTileServer: Int {
76
81
case . openStreetMap: return [ " a " , " b " , " c " ]
77
82
case . cartoDB, . cartoDBRetina: return [ " a " , " b " , " c " ]
78
83
case . openTopoMap: return [ " a " , " b " , " c " ]
84
+ case . openSeaMap: return [ ]
79
85
// case .AnotherMap: return ["a","b"]
80
86
}
81
87
}
@@ -103,6 +109,8 @@ enum GPXTileServer: Int {
103
109
case . openTopoMap:
104
110
return 17
105
111
// case .AnotherMap: return 10
112
+ case . openSeaMap:
113
+ return 16
106
114
}
107
115
}
108
116
///
@@ -125,7 +133,18 @@ enum GPXTileServer: Int {
125
133
return 0
126
134
case . openTopoMap:
127
135
return 0
128
- // case .AnotherMap: return ["a","b"]
136
+ case . openSeaMap:
137
+ return 0
138
+ // case .AnotherMap: return 0
139
+ }
140
+ }
141
+
142
+ /// Does the tile overlay replace the map?
143
+ /// Generally all the tiles provided replace the AppleMaps. However there are some
144
+ var canReplaceMapContent : Bool {
145
+ switch self {
146
+ case . openSeaMap: return false
147
+ default : return true
129
148
}
130
149
}
131
150
@@ -145,5 +164,5 @@ enum GPXTileServer: Int {
145
164
}
146
165
147
166
/// Returns the number of tile servers currently defined
148
- static var count : Int { return GPXTileServer . openTopoMap . rawValue + 1 }
167
+ static var count : Int { return GPXTileServer . openSeaMap . rawValue + 1 }
149
168
}
0 commit comments