Authored by Thomas Rasch

Merge branch 'develop' into release

@@ -30,7 +30,7 @@ @@ -30,7 +30,7 @@
30 @implementation RMMapQuestOSMSource 30 @implementation RMMapQuestOSMSource
31 31
32 - (id)init 32 - (id)init
33 -{ 33 +{
34 if (!(self = [super init])) 34 if (!(self = [super init]))
35 return nil; 35 return nil;
36 36
  1 +//
  2 +// RMMapQuestOpenAerialSource.h
  3 +//
  4 +// Copyright (c) 2008-2012, Route-Me Contributors
  5 +// All rights reserved.
  6 +//
  7 +// Redistribution and use in source and binary forms, with or without
  8 +// modification, are permitted provided that the following conditions are met:
  9 +//
  10 +// * Redistributions of source code must retain the above copyright notice, this
  11 +// list of conditions and the following disclaimer.
  12 +// * Redistributions in binary form must reproduce the above copyright notice,
  13 +// this list of conditions and the following disclaimer in the documentation
  14 +// and/or other materials provided with the distribution.
  15 +//
  16 +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
  17 +// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  18 +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  19 +// ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
  20 +// LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
  21 +// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
  22 +// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
  23 +// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
  24 +// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
  25 +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
  26 +// POSSIBILITY OF SUCH DAMAGE.
  27 +
  28 +#import "RMAbstractWebMapSource.h"
  29 +
  30 +@interface RMMapQuestOpenAerialSource : RMAbstractWebMapSource
  31 +
  32 +@end
  1 +//
  2 +// RMMapQuestOpenAerialSource.m
  3 +//
  4 +// Copyright (c) 2008-2012, Route-Me Contributors
  5 +// All rights reserved.
  6 +//
  7 +// Redistribution and use in source and binary forms, with or without
  8 +// modification, are permitted provided that the following conditions are met:
  9 +//
  10 +// * Redistributions of source code must retain the above copyright notice, this
  11 +// list of conditions and the following disclaimer.
  12 +// * Redistributions in binary form must reproduce the above copyright notice,
  13 +// this list of conditions and the following disclaimer in the documentation
  14 +// and/or other materials provided with the distribution.
  15 +//
  16 +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
  17 +// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  18 +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  19 +// ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
  20 +// LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
  21 +// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
  22 +// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
  23 +// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
  24 +// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
  25 +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
  26 +// POSSIBILITY OF SUCH DAMAGE.
  27 +
  28 +#import "RMMapQuestOpenAerialSource.h"
  29 +
  30 +@implementation RMMapQuestOpenAerialSource
  31 +
  32 +- (id)init
  33 +{
  34 + if (!(self = [super init]))
  35 + return nil;
  36 +
  37 + [self setMaxZoom:11];
  38 + [self setMinZoom:1];
  39 +
  40 + return self;
  41 +}
  42 +
  43 +- (NSURL *)URLForTile:(RMTile)tile
  44 +{
  45 + NSAssert4(((tile.zoom >= self.minZoom) && (tile.zoom <= self.maxZoom)),
  46 + @"%@ tried to retrieve tile with zoomLevel %d, outside source's defined range %f to %f",
  47 + self, tile.zoom, self.minZoom, self.maxZoom);
  48 +
  49 + return [NSURL URLWithString:[NSString stringWithFormat:@"http://oatile1.mqcdn.com/tiles/1.0.0/sat/%d/%d/%d.png", tile.zoom, tile.x, tile.y]];
  50 +}
  51 +
  52 +- (NSString *)uniqueTilecacheKey
  53 +{
  54 + return @"MapQuestOpenAerial";
  55 +}
  56 +
  57 +- (NSString *)shortName
  58 +{
  59 + return @"MapQuest Open Aerial";
  60 +}
  61 +
  62 +- (NSString *)longDescription
  63 +{
  64 + return @"Map tiles courtesy of MapQuest. Portions Courtesy NASA/JPL-Caltech and U.S. Depart. of Agriculture, Farm Service Agency.";
  65 +}
  66 +
  67 +- (NSString *)shortAttribution
  68 +{
  69 + return @"Tiles courtesy of MapQuest.";
  70 +}
  71 +
  72 +- (NSString *)longAttribution
  73 +{
  74 + return @"Tiles courtesy of MapQuest and OpenStreetMap contributors. Portions Courtesy NASA/JPL-Caltech and U.S. Depart. of Agriculture, Farm Service Agency.";
  75 +}
  76 +
  77 +@end
@@ -30,7 +30,7 @@ @@ -30,7 +30,7 @@
30 @implementation RMOpenCycleMapSource 30 @implementation RMOpenCycleMapSource
31 31
32 - (id)init 32 - (id)init
33 -{ 33 +{
34 if (!(self = [super init])) 34 if (!(self = [super init]))
35 return nil; 35 return nil;
36 36
@@ -30,7 +30,7 @@ @@ -30,7 +30,7 @@
30 @implementation RMOpenStreetMapSource 30 @implementation RMOpenStreetMapSource
31 31
32 - (id)init 32 - (id)init
33 -{ 33 +{
34 if (!(self = [super init])) 34 if (!(self = [super init]))
35 return nil; 35 return nil;
36 36
@@ -53,6 +53,8 @@ @@ -53,6 +53,8 @@
53 16EC85D7133CA6C300219947 /* RMCacheObject.m in Sources */ = {isa = PBXBuildFile; fileRef = 16EC85D1133CA6C300219947 /* RMCacheObject.m */; }; 53 16EC85D7133CA6C300219947 /* RMCacheObject.m in Sources */ = {isa = PBXBuildFile; fileRef = 16EC85D1133CA6C300219947 /* RMCacheObject.m */; };
54 16FAB66413E03D55002F4E1C /* RMQuadTree.h in Headers */ = {isa = PBXBuildFile; fileRef = 16FAB66213E03D55002F4E1C /* RMQuadTree.h */; }; 54 16FAB66413E03D55002F4E1C /* RMQuadTree.h in Headers */ = {isa = PBXBuildFile; fileRef = 16FAB66213E03D55002F4E1C /* RMQuadTree.h */; };
55 16FAB66513E03D55002F4E1C /* RMQuadTree.m in Sources */ = {isa = PBXBuildFile; fileRef = 16FAB66313E03D55002F4E1C /* RMQuadTree.m */; }; 55 16FAB66513E03D55002F4E1C /* RMQuadTree.m in Sources */ = {isa = PBXBuildFile; fileRef = 16FAB66313E03D55002F4E1C /* RMQuadTree.m */; };
  56 + 16FFF2CB14E3DBF700A170EC /* RMMapQuestOpenAerialSource.h in Headers */ = {isa = PBXBuildFile; fileRef = 16FFF2C914E3DBF700A170EC /* RMMapQuestOpenAerialSource.h */; };
  57 + 16FFF2CC14E3DBF700A170EC /* RMMapQuestOpenAerialSource.m in Sources */ = {isa = PBXBuildFile; fileRef = 16FFF2CA14E3DBF700A170EC /* RMMapQuestOpenAerialSource.m */; };
56 17F02BB11319BA4B00260C6B /* RouteMe.h in Headers */ = {isa = PBXBuildFile; fileRef = 17F02BB01319BA4B00260C6B /* RouteMe.h */; }; 58 17F02BB11319BA4B00260C6B /* RouteMe.h in Headers */ = {isa = PBXBuildFile; fileRef = 17F02BB01319BA4B00260C6B /* RouteMe.h */; };
57 23A0AAE90EB90A99003A4521 /* RMFoundation.c in Sources */ = {isa = PBXBuildFile; fileRef = 23A0AAE80EB90A99003A4521 /* RMFoundation.c */; }; 59 23A0AAE90EB90A99003A4521 /* RMFoundation.c in Sources */ = {isa = PBXBuildFile; fileRef = 23A0AAE80EB90A99003A4521 /* RMFoundation.c */; };
58 23A0AAEB0EB90AA6003A4521 /* RMFoundation.h in Headers */ = {isa = PBXBuildFile; fileRef = 23A0AAEA0EB90AA6003A4521 /* RMFoundation.h */; }; 60 23A0AAEB0EB90AA6003A4521 /* RMFoundation.h in Headers */ = {isa = PBXBuildFile; fileRef = 23A0AAEA0EB90AA6003A4521 /* RMFoundation.h */; };
@@ -200,6 +202,8 @@ @@ -200,6 +202,8 @@
200 16EC85D1133CA6C300219947 /* RMCacheObject.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RMCacheObject.m; sourceTree = "<group>"; }; 202 16EC85D1133CA6C300219947 /* RMCacheObject.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RMCacheObject.m; sourceTree = "<group>"; };
201 16FAB66213E03D55002F4E1C /* RMQuadTree.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RMQuadTree.h; sourceTree = "<group>"; }; 203 16FAB66213E03D55002F4E1C /* RMQuadTree.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RMQuadTree.h; sourceTree = "<group>"; };
202 16FAB66313E03D55002F4E1C /* RMQuadTree.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RMQuadTree.m; sourceTree = "<group>"; }; 204 16FAB66313E03D55002F4E1C /* RMQuadTree.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RMQuadTree.m; sourceTree = "<group>"; };
  205 + 16FFF2C914E3DBF700A170EC /* RMMapQuestOpenAerialSource.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RMMapQuestOpenAerialSource.h; sourceTree = "<group>"; };
  206 + 16FFF2CA14E3DBF700A170EC /* RMMapQuestOpenAerialSource.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RMMapQuestOpenAerialSource.m; sourceTree = "<group>"; };
203 17F02BB01319BA4B00260C6B /* RouteMe.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RouteMe.h; sourceTree = "<group>"; }; 207 17F02BB01319BA4B00260C6B /* RouteMe.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RouteMe.h; sourceTree = "<group>"; };
204 17F31EFA1331050A00122B16 /* libMapView.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libMapView.a; sourceTree = BUILT_PRODUCTS_DIR; }; 208 17F31EFA1331050A00122B16 /* libMapView.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libMapView.a; sourceTree = BUILT_PRODUCTS_DIR; };
205 1D30AB110D05D00D00671497 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; }; 209 1D30AB110D05D00D00671497 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };
@@ -350,6 +354,8 @@ @@ -350,6 +354,8 @@
350 D1437B32122869E400888DAE /* RMDBMapSource.m */, 354 D1437B32122869E400888DAE /* RMDBMapSource.m */,
351 1607499314E120A100D535F5 /* RMGenericMapSource.h */, 355 1607499314E120A100D535F5 /* RMGenericMapSource.h */,
352 1607499414E120A100D535F5 /* RMGenericMapSource.m */, 356 1607499414E120A100D535F5 /* RMGenericMapSource.m */,
  357 + 16FFF2C914E3DBF700A170EC /* RMMapQuestOpenAerialSource.h */,
  358 + 16FFF2CA14E3DBF700A170EC /* RMMapQuestOpenAerialSource.m */,
353 DD8CDB4814E0507100B73EB9 /* RMMapQuestOSMSource.h */, 359 DD8CDB4814E0507100B73EB9 /* RMMapQuestOSMSource.h */,
354 DD8CDB4914E0507100B73EB9 /* RMMapQuestOSMSource.m */, 360 DD8CDB4914E0507100B73EB9 /* RMMapQuestOSMSource.m */,
355 DD2B375314CF8197008DE8CB /* RMMBTilesTileSource.h */, 361 DD2B375314CF8197008DE8CB /* RMMBTilesTileSource.h */,
@@ -663,6 +669,7 @@ @@ -663,6 +669,7 @@
663 DD98B6FA14D76B930092882F /* RMTileStreamSource.h in Headers */, 669 DD98B6FA14D76B930092882F /* RMTileStreamSource.h in Headers */,
664 DD8CDB4A14E0507100B73EB9 /* RMMapQuestOSMSource.h in Headers */, 670 DD8CDB4A14E0507100B73EB9 /* RMMapQuestOSMSource.h in Headers */,
665 1607499514E120A100D535F5 /* RMGenericMapSource.h in Headers */, 671 1607499514E120A100D535F5 /* RMGenericMapSource.h in Headers */,
  672 + 16FFF2CB14E3DBF700A170EC /* RMMapQuestOpenAerialSource.h in Headers */,
666 ); 673 );
667 runOnlyForDeploymentPostprocessing = 0; 674 runOnlyForDeploymentPostprocessing = 0;
668 }; 675 };
@@ -879,6 +886,7 @@ @@ -879,6 +886,7 @@
879 DD98B6FB14D76B930092882F /* RMTileStreamSource.m in Sources */, 886 DD98B6FB14D76B930092882F /* RMTileStreamSource.m in Sources */,
880 DD8CDB4B14E0507100B73EB9 /* RMMapQuestOSMSource.m in Sources */, 887 DD8CDB4B14E0507100B73EB9 /* RMMapQuestOSMSource.m in Sources */,
881 1607499614E120A100D535F5 /* RMGenericMapSource.m in Sources */, 888 1607499614E120A100D535F5 /* RMGenericMapSource.m in Sources */,
  889 + 16FFF2CC14E3DBF700A170EC /* RMMapQuestOpenAerialSource.m in Sources */,
882 ); 890 );
883 runOnlyForDeploymentPostprocessing = 0; 891 runOnlyForDeploymentPostprocessing = 0;
884 }; 892 };
1 -Route-Me: iOS map library  
2 -------------------------- 1 +Route-Me: iOS map library (Alpstein fork)
  2 +-----------------------------------------
3 3
4 Route-Me is an open source map library that runs natively on iOS. It's designed 4 Route-Me is an open source map library that runs natively on iOS. It's designed
5 to look and feel much like the inbuilt iOS map library, but it's entirely open, 5 to look and feel much like the inbuilt iOS map library, but it's entirely open,
6 and works with any map source. 6 and works with any map source.
7 7
8 -Currently, [OpenStreetMap][1], [Microsoft VirtualEarth][2], [CloudMade][3],  
9 -[OpenAerialMap][4], [OpenCycleMap][5], [SpatialCloud][6], and two offline,  
10 -database-backed formats (DBMap and [MBTiles][7]) are supported as map 8 +Currently, [OpenStreetMap][1], [OpenCycleMap][2], [OpenSeaMap][3], [MapQuest OSM][4], [MapQuest Open Aerial][5] and two offline,
  9 +database-backed formats (DBMap and [MBTiles][6]) are supported as map
11 sources. 10 sources.
12 11
13 Please note that you are responsible for getting permission to use the map data, 12 Please note that you are responsible for getting permission to use the map data,
@@ -15,12 +14,11 @@ and for ensuring your use adheres to the relevant terms of use. @@ -15,12 +14,11 @@ and for ensuring your use adheres to the relevant terms of use.
15 14
16 15
17 [1]: http://www.openstreetmap.org/index.html 16 [1]: http://www.openstreetmap.org/index.html
18 - [2]: http://maps.live.com/  
19 - [3]: http://www.cloudmade.com/  
20 - [4]: http://www.openaerialmap.org/  
21 - [5]: http://www.opencyclemap.org/  
22 - [6]: http://www.spatialcloud.com/  
23 - [7]: http://mbtiles.org 17 + [2]: http://www.opencyclemap.org/
  18 + [3]: http://www.openseamap.org/
  19 + [4]: http://developer.mapquest.com/web/products/open/map
  20 + [5]: http://developer.mapquest.com/web/products/open/map
  21 + [6]: http://mbtiles.org
24 22
25 23
26 Installing 24 Installing
@@ -44,7 +42,7 @@ There are three subdirectories - MapView, Proj4, and samples. Proj4 is a support @@ -44,7 +42,7 @@ There are three subdirectories - MapView, Proj4, and samples. Proj4 is a support
44 See LicenseRouteMe.txt for license details. In any app that uses the Route-Me library, include the following text on your "preferences" or "about" screen: "Uses Route-Me map library, (c) 2008-2012 Route-Me Contributors". Your data provider will have additional attribution requirements. 42 See LicenseRouteMe.txt for license details. In any app that uses the Route-Me library, include the following text on your "preferences" or "about" screen: "Uses Route-Me map library, (c) 2008-2012 Route-Me Contributors". Your data provider will have additional attribution requirements.
45 43
46 44
47 - [dl]: https://github.com/Alpstein/route-me/zipball/master 45 + [dl]: https://github.com/Alpstein/route-me/zipball/release
48 46
49 47
50 News, Support and Contributing 48 News, Support and Contributing
@@ -70,7 +68,7 @@ Changes in this fork (Alpstein/route-me) @@ -70,7 +68,7 @@ Changes in this fork (Alpstein/route-me)
70 68
71 * Tile source refactoring 69 * Tile source refactoring
72 70
73 -* Support for tile sources with multiple layers 71 +* Support for tile sources with multiple layers (e.g. OpenSeaMap)
74 72
75 * Numerous performance improvements 73 * Numerous performance improvements
76 74
@@ -6,8 +6,6 @@ @@ -6,8 +6,6 @@
6 #import <UIKit/UIKit.h> 6 #import <UIKit/UIKit.h>
7 7
8 #import "RMMapView.h" 8 #import "RMMapView.h"
9 -#import "RMOpenCycleMapSource.h"  
10 -#import "RMOpenStreetMapSource.h"  
11 9
12 @interface MainViewController : UIViewController <RMMapViewDelegate> 10 @interface MainViewController : UIViewController <RMMapViewDelegate>
13 { 11 {
@@ -11,6 +11,12 @@ @@ -11,6 +11,12 @@
11 #import "MainView.h" 11 #import "MainView.h"
12 #import "RMTileSource.h" 12 #import "RMTileSource.h"
13 13
  14 +#import "RMOpenCycleMapSource.h"
  15 +#import "RMOpenStreetMapSource.h"
  16 +#import "RMOpenSeaMapSource.h"
  17 +#import "RMMapQuestOSMSource.h"
  18 +#import "RMMapQuestOpenAerialSource.h"
  19 +
14 @implementation MainViewController 20 @implementation MainViewController
15 21
16 @synthesize mapView; 22 @synthesize mapView;
@@ -82,10 +88,28 @@ @@ -82,10 +88,28 @@
82 88
83 - (IBAction)mapSelectChange 89 - (IBAction)mapSelectChange
84 { 90 {
85 - if (mapSelectControl.selectedSegmentIndex == 1)  
86 - [mapView setTileSource:[[[RMOpenCycleMapSource alloc] init] autorelease]];  
87 - else  
88 - [mapView setTileSource:[[[RMOpenStreetMapSource alloc] init] autorelease]]; 91 + switch (mapSelectControl.selectedSegmentIndex)
  92 + {
  93 + case 1:
  94 + [mapView setTileSource:[[[RMOpenCycleMapSource alloc] init] autorelease]];
  95 + break;
  96 +
  97 + case 2:
  98 + [mapView setTileSource:[[[RMOpenSeaMapSource alloc] init] autorelease]];
  99 + break;
  100 +
  101 + case 3:
  102 + [mapView setTileSource:[[[RMMapQuestOSMSource alloc] init] autorelease]];
  103 + break;
  104 +
  105 + case 4:
  106 + [mapView setTileSource:[[[RMMapQuestOpenAerialSource alloc] init] autorelease]];
  107 + break;
  108 +
  109 + default:
  110 + [mapView setTileSource:[[[RMOpenStreetMapSource alloc] init] autorelease]];
  111 + break;
  112 + }
89 } 113 }
90 114
91 #pragma mark - 115 #pragma mark -
@@ -2,13 +2,13 @@ @@ -2,13 +2,13 @@
2 <archive type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="7.10"> 2 <archive type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="7.10">
3 <data> 3 <data>
4 <int key="IBDocument.SystemTarget">528</int> 4 <int key="IBDocument.SystemTarget">528</int>
5 - <string key="IBDocument.SystemVersion">10K540</string>  
6 - <string key="IBDocument.InterfaceBuilderVersion">1891</string> 5 + <string key="IBDocument.SystemVersion">10K549</string>
  6 + <string key="IBDocument.InterfaceBuilderVersion">1938</string>
7 <string key="IBDocument.AppKitVersion">1038.36</string> 7 <string key="IBDocument.AppKitVersion">1038.36</string>
8 <string key="IBDocument.HIToolboxVersion">461.00</string> 8 <string key="IBDocument.HIToolboxVersion">461.00</string>
9 <object class="NSMutableDictionary" key="IBDocument.PluginVersions"> 9 <object class="NSMutableDictionary" key="IBDocument.PluginVersions">
10 <string key="NS.key.0">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string> 10 <string key="NS.key.0">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
11 - <string key="NS.object.0">884</string> 11 + <string key="NS.object.0">933</string>
12 </object> 12 </object>
13 <object class="NSArray" key="IBDocument.IntegratedClassDependencies"> 13 <object class="NSArray" key="IBDocument.IntegratedClassDependencies">
14 <bool key="EncodedWithXMLCoder">YES</bool> 14 <bool key="EncodedWithXMLCoder">YES</bool>
@@ -48,6 +48,63 @@ @@ -48,6 +48,63 @@
48 <object class="IBUIView" id="1052103930"> 48 <object class="IBUIView" id="1052103930">
49 <reference key="NSNextResponder" ref="79822186"/> 49 <reference key="NSNextResponder" ref="79822186"/>
50 <int key="NSvFlags">292</int> 50 <int key="NSvFlags">292</int>
  51 + <object class="NSMutableArray" key="NSSubviews">
  52 + <bool key="EncodedWithXMLCoder">YES</bool>
  53 + <object class="IBUISegmentedControl" id="171590242">
  54 + <reference key="NSNextResponder" ref="1052103930"/>
  55 + <int key="NSvFlags">292</int>
  56 + <string key="NSFrame">{{5, 20}, {310, 30}}</string>
  57 + <reference key="NSSuperview" ref="1052103930"/>
  58 + <reference key="NSWindow"/>
  59 + <reference key="NSNextKeyView" ref="922595057"/>
  60 + <bool key="IBUIOpaque">NO</bool>
  61 + <bool key="IBUIClearsContextBeforeDrawing">NO</bool>
  62 + <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
  63 + <int key="IBSegmentControlStyle">2</int>
  64 + <int key="IBNumberOfSegments">5</int>
  65 + <int key="IBSelectedSegmentIndex">0</int>
  66 + <object class="NSArray" key="IBSegmentTitles">
  67 + <bool key="EncodedWithXMLCoder">YES</bool>
  68 + <string>Street</string>
  69 + <string>Cycle</string>
  70 + <string>Sea</string>
  71 + <string>MQ OSM</string>
  72 + <string>MQ Aerial</string>
  73 + </object>
  74 + <object class="NSMutableArray" key="IBSegmentWidths">
  75 + <bool key="EncodedWithXMLCoder">YES</bool>
  76 + <real value="0.0"/>
  77 + <real value="0.0"/>
  78 + <real value="0.0"/>
  79 + <real value="0.0"/>
  80 + <real value="0.0"/>
  81 + </object>
  82 + <object class="NSMutableArray" key="IBSegmentEnabledStates">
  83 + <bool key="EncodedWithXMLCoder">YES</bool>
  84 + <boolean value="YES"/>
  85 + <boolean value="YES"/>
  86 + <boolean value="YES"/>
  87 + <boolean value="YES"/>
  88 + <boolean value="YES"/>
  89 + </object>
  90 + <object class="NSMutableArray" key="IBSegmentContentOffsets">
  91 + <bool key="EncodedWithXMLCoder">YES</bool>
  92 + <string>{0, 0}</string>
  93 + <string>{0, 0}</string>
  94 + <string>{0, 0}</string>
  95 + <string>{0, 0}</string>
  96 + <string>{0, 0}</string>
  97 + </object>
  98 + <object class="NSMutableArray" key="IBSegmentImages">
  99 + <bool key="EncodedWithXMLCoder">YES</bool>
  100 + <object class="NSNull" id="4"/>
  101 + <reference ref="4"/>
  102 + <reference ref="4"/>
  103 + <reference ref="4"/>
  104 + <reference ref="4"/>
  105 + </object>
  106 + </object>
  107 + </object>
51 <string key="NSFrameSize">{320, 460}</string> 108 <string key="NSFrameSize">{320, 460}</string>
52 <reference key="NSSuperview" ref="79822186"/> 109 <reference key="NSSuperview" ref="79822186"/>
53 <reference key="NSWindow"/> 110 <reference key="NSWindow"/>
@@ -120,44 +177,6 @@ ZAo</string> @@ -120,44 +177,6 @@ ZAo</string>
120 <int key="NSfFlags">16</int> 177 <int key="NSfFlags">16</int>
121 </object> 178 </object>
122 </object> 179 </object>
123 - <object class="IBUISegmentedControl" id="171590242">  
124 - <reference key="NSNextResponder" ref="79822186"/>  
125 - <int key="NSvFlags">292</int>  
126 - <string key="NSFrame">{{56, 20}, {207, 44}}</string>  
127 - <reference key="NSSuperview" ref="79822186"/>  
128 - <reference key="NSWindow"/>  
129 - <reference key="NSNextKeyView" ref="922595057"/>  
130 - <bool key="IBUIOpaque">NO</bool>  
131 - <bool key="IBUIClearsContextBeforeDrawing">NO</bool>  
132 - <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>  
133 - <int key="IBNumberOfSegments">2</int>  
134 - <int key="IBSelectedSegmentIndex">0</int>  
135 - <object class="NSArray" key="IBSegmentTitles">  
136 - <bool key="EncodedWithXMLCoder">YES</bool>  
137 - <string>Street</string>  
138 - <string>Cycle</string>  
139 - </object>  
140 - <object class="NSMutableArray" key="IBSegmentWidths">  
141 - <bool key="EncodedWithXMLCoder">YES</bool>  
142 - <real value="0.0"/>  
143 - <real value="0.0"/>  
144 - </object>  
145 - <object class="NSMutableArray" key="IBSegmentEnabledStates">  
146 - <bool key="EncodedWithXMLCoder">YES</bool>  
147 - <boolean value="YES"/>  
148 - <boolean value="YES"/>  
149 - </object>  
150 - <object class="NSMutableArray" key="IBSegmentContentOffsets">  
151 - <bool key="EncodedWithXMLCoder">YES</bool>  
152 - <string>{0, 0}</string>  
153 - <string>{0, 0}</string>  
154 - </object>  
155 - <object class="NSMutableArray" key="IBSegmentImages">  
156 - <bool key="EncodedWithXMLCoder">YES</bool>  
157 - <object class="NSNull" id="4"/>  
158 - <reference ref="4"/>  
159 - </object>  
160 - </object>  
161 </object> 180 </object>
162 <string key="NSFrameSize">{320, 460}</string> 181 <string key="NSFrameSize">{320, 460}</string>
163 <reference key="NSSuperview" ref="702763708"/> 182 <reference key="NSSuperview" ref="702763708"/>
@@ -194,23 +213,6 @@ ZAo</string> @@ -194,23 +213,6 @@ ZAo</string>
194 <int key="connectionID">46</int> 213 <int key="connectionID">46</int>
195 </object> 214 </object>
196 <object class="IBConnectionRecord"> 215 <object class="IBConnectionRecord">
197 - <object class="IBCocoaTouchEventConnection" key="connection">  
198 - <string key="label">mapSelectChange</string>  
199 - <reference key="source" ref="171590242"/>  
200 - <reference key="destination" ref="372490531"/>  
201 - <int key="IBEventType">13</int>  
202 - </object>  
203 - <int key="connectionID">53</int>  
204 - </object>  
205 - <object class="IBConnectionRecord">  
206 - <object class="IBCocoaTouchOutletConnection" key="connection">  
207 - <string key="label">mapSelectControl</string>  
208 - <reference key="source" ref="372490531"/>  
209 - <reference key="destination" ref="171590242"/>  
210 - </object>  
211 - <int key="connectionID">54</int>  
212 - </object>  
213 - <object class="IBConnectionRecord">  
214 <object class="IBCocoaTouchOutletConnection" key="connection"> 216 <object class="IBCocoaTouchOutletConnection" key="connection">
215 <string key="label">mapView</string> 217 <string key="label">mapView</string>
216 <reference key="source" ref="372490531"/> 218 <reference key="source" ref="372490531"/>
@@ -226,6 +228,23 @@ ZAo</string> @@ -226,6 +228,23 @@ ZAo</string>
226 </object> 228 </object>
227 <int key="connectionID">58</int> 229 <int key="connectionID">58</int>
228 </object> 230 </object>
  231 + <object class="IBConnectionRecord">
  232 + <object class="IBCocoaTouchOutletConnection" key="connection">
  233 + <string key="label">mapSelectControl</string>
  234 + <reference key="source" ref="372490531"/>
  235 + <reference key="destination" ref="171590242"/>
  236 + </object>
  237 + <int key="connectionID">54</int>
  238 + </object>
  239 + <object class="IBConnectionRecord">
  240 + <object class="IBCocoaTouchEventConnection" key="connection">
  241 + <string key="label">mapSelectChange</string>
  242 + <reference key="source" ref="171590242"/>
  243 + <reference key="destination" ref="372490531"/>
  244 + <int key="IBEventType">13</int>
  245 + </object>
  246 + <int key="connectionID">53</int>
  247 + </object>
229 </object> 248 </object>
230 <object class="IBMutableOrderedSet" key="objectRecords"> 249 <object class="IBMutableOrderedSet" key="objectRecords">
231 <object class="NSArray" key="orderedObjects"> 250 <object class="NSArray" key="orderedObjects">
@@ -264,7 +283,6 @@ ZAo</string> @@ -264,7 +283,6 @@ ZAo</string>
264 <object class="NSMutableArray" key="children"> 283 <object class="NSMutableArray" key="children">
265 <bool key="EncodedWithXMLCoder">YES</bool> 284 <bool key="EncodedWithXMLCoder">YES</bool>
266 <reference ref="922595057"/> 285 <reference ref="922595057"/>
267 - <reference ref="171590242"/>  
268 <reference ref="1052103930"/> 286 <reference ref="1052103930"/>
269 </object> 287 </object>
270 <reference key="parent" ref="702763708"/> 288 <reference key="parent" ref="702763708"/>
@@ -275,15 +293,19 @@ ZAo</string> @@ -275,15 +293,19 @@ ZAo</string>
275 <reference key="parent" ref="79822186"/> 293 <reference key="parent" ref="79822186"/>
276 </object> 294 </object>
277 <object class="IBObjectRecord"> 295 <object class="IBObjectRecord">
278 - <int key="objectID">49</int>  
279 - <reference key="object" ref="171590242"/>  
280 - <reference key="parent" ref="79822186"/>  
281 - </object>  
282 - <object class="IBObjectRecord">  
283 <int key="objectID">56</int> 296 <int key="objectID">56</int>
284 <reference key="object" ref="1052103930"/> 297 <reference key="object" ref="1052103930"/>
  298 + <object class="NSMutableArray" key="children">
  299 + <bool key="EncodedWithXMLCoder">YES</bool>
  300 + <reference ref="171590242"/>
  301 + </object>
285 <reference key="parent" ref="79822186"/> 302 <reference key="parent" ref="79822186"/>
286 </object> 303 </object>
  304 + <object class="IBObjectRecord">
  305 + <int key="objectID">49</int>
  306 + <reference key="object" ref="171590242"/>
  307 + <reference key="parent" ref="1052103930"/>
  308 + </object>
287 </object> 309 </object>
288 </object> 310 </object>
289 <object class="NSMutableDictionary" key="flattenedProperties"> 311 <object class="NSMutableDictionary" key="flattenedProperties">
@@ -426,6 +448,6 @@ ZAo</string> @@ -426,6 +448,6 @@ ZAo</string>
426 </object> 448 </object>
427 <bool key="IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion">YES</bool> 449 <bool key="IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion">YES</bool>
428 <int key="IBDocument.defaultPropertyAccessControl">3</int> 450 <int key="IBDocument.defaultPropertyAccessControl">3</int>
429 - <string key="IBCocoaTouchPluginVersion">884</string> 451 + <string key="IBCocoaTouchPluginVersion">933</string>
430 </data> 452 </data>
431 </archive> 453 </archive>