map-kit-wrapper 0.0.2 → 0.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/README.md +243 -9
- data/lib/map-kit-wrapper.rb +1 -1
- data/lib/map-kit-wrapper/core_location_data_types.rb +3 -1
- data/lib/map-kit-wrapper/map_kit_data_types.rb +11 -10
- data/lib/map-kit-wrapper/map_type.rb +4 -0
- data/lib/map-kit-wrapper/map_view.rb +26 -9
- data/lib/map-kit-wrapper/version.rb +1 -1
- data/lib/map-kit-wrapper/zoom_level.rb +19 -6
- data/spec/lib/zoom_level_spec.rb +7 -0
- metadata +3 -3
data/README.md
CHANGED
@@ -1,9 +1,9 @@
|
|
1
1
|
MapKitWrapper
|
2
2
|
=============
|
3
3
|
|
4
|
-
This is a MapKit wrapper for RubyMotion. It's purpose is to make make dealing with MapKit less
|
4
|
+
This is a MapKit wrapper for RubyMotion. It's purpose is to make make dealing with MapKit less painful.
|
5
5
|
|
6
|
-
|
6
|
+
MapKitWrapper is work in progress. Right now there are wrappers for the Map Kit Data Types and the Core Location Data Types. Those will save you a lot of typing.
|
7
7
|
|
8
8
|
## Installation
|
9
9
|
```ruby
|
@@ -33,14 +33,248 @@ def loadView
|
|
33
33
|
# map.set_region(region, :animated => true)
|
34
34
|
map.showsUserLocation = true
|
35
35
|
self.view.addSubview(map)
|
36
|
+
map.set_zoom_level = 3
|
36
37
|
end
|
37
|
-
```
|
38
|
-
|
38
|
+
```
|
39
|
+
|
40
|
+
## MapView: Convenient subclass of MKMapView
|
41
|
+
|
42
|
+
Include the module
|
43
|
+
```ruby
|
44
|
+
include MapKit
|
45
|
+
```
|
46
|
+
|
47
|
+
Initializer
|
48
|
+
|
49
|
+
```ruby
|
50
|
+
MapView.new
|
51
|
+
```
|
52
|
+
|
53
|
+
### Methods on MapView
|
54
|
+
|
55
|
+
Zoom methods
|
56
|
+
|
57
|
+
```ruby
|
58
|
+
>> map = MapView.new
|
59
|
+
=> MapView
|
60
|
+
>> map.zoom_enabled?
|
61
|
+
=> false
|
62
|
+
>> map.zoom_enabled = true
|
63
|
+
=> true
|
64
|
+
```
|
65
|
+
|
66
|
+
Scroll methods
|
67
|
+
|
68
|
+
```ruby
|
69
|
+
>> map = MapView.new
|
70
|
+
=> MapView
|
71
|
+
>> map.scroll_enabled?
|
72
|
+
=> false
|
73
|
+
>> map.scroll_enabled = true
|
74
|
+
=> true
|
75
|
+
```
|
76
|
+
|
77
|
+
Location methods
|
78
|
+
|
79
|
+
```ruby
|
80
|
+
>> map.user_located?
|
81
|
+
=> false
|
82
|
+
>> map.shows_user_location?
|
83
|
+
=> false
|
84
|
+
>> map.user_coordinates
|
85
|
+
=> nil
|
86
|
+
>> map.shows_user_location = true
|
87
|
+
=> true
|
88
|
+
# wait for a bit
|
89
|
+
>> map.user_located?
|
90
|
+
=> true
|
91
|
+
>> map.user_coordinates
|
92
|
+
=> LocationCoordinate
|
93
|
+
```
|
94
|
+
|
95
|
+
### MapView zoom level methods
|
96
|
+
|
97
|
+
MapView includes calculations to easily get and set the zoom level as seen on Google Maps.
|
98
|
+
It's a Ruby adaption of http://troybrant.net/blog/2010/01/set-the-zoom-level-of-an-mkmapview/
|
99
|
+
|
100
|
+
```ruby
|
101
|
+
>> map.zoom_level
|
102
|
+
=> 5
|
103
|
+
>> map.set_zoom_level(13)
|
104
|
+
=> 13
|
105
|
+
# set the zoom level with animation
|
106
|
+
>> map.set_zoom_level(13, true)
|
107
|
+
=> 13
|
108
|
+
```
|
109
|
+
|
110
|
+
## Wrappers for the CoreLocation data types
|
111
|
+
|
112
|
+
Include the module
|
113
|
+
```ruby
|
114
|
+
include CoreLocation::DataTypes
|
115
|
+
```
|
116
|
+
|
117
|
+
### LocationCoordinate: The wrapper for CLLocationCoordinate2D
|
118
|
+
|
119
|
+
The `LocationCoordinate` initializer takes a variety of argument types
|
120
|
+
```ruby
|
121
|
+
LocationCoordinate.new(1,2)
|
122
|
+
LocationCoordinate.new([1,2])
|
123
|
+
LocationCoordinate.new(LocationCoordinate)
|
124
|
+
LocationCoordinate.new(CLLocationCoordinate2D)
|
125
|
+
```
|
126
|
+
|
127
|
+
Methods on `LocationCoordinate`
|
128
|
+
```ruby
|
129
|
+
>> lc = LocationCoordinate.new(1, 2)
|
130
|
+
=> [1, 2]
|
131
|
+
>> lc.latitude
|
132
|
+
=> 1
|
133
|
+
>> lc.latitude = 10
|
134
|
+
=> 10
|
135
|
+
>> lc.longitude
|
136
|
+
=> 2
|
137
|
+
>> lc.longitude = 15
|
138
|
+
=> 15
|
139
|
+
>> lc.to_array
|
140
|
+
=> [10, 15]
|
141
|
+
>> lc.sdk
|
142
|
+
=> CLLocationCoordinate2D
|
143
|
+
```
|
144
|
+
|
145
|
+
## Wrappers for the MapKit data types
|
146
|
+
|
147
|
+
Include the module
|
148
|
+
|
149
|
+
```ruby
|
150
|
+
include MapKit::DataTypes
|
151
|
+
```
|
152
|
+
|
153
|
+
### CoordinateSpan: The wrapper for MKCoordinateSpan
|
154
|
+
|
155
|
+
The `CoordinateSpan` initializer takes a variety of argument types
|
156
|
+
|
157
|
+
```ruby
|
158
|
+
CoordinateSpan.new(1, 2)
|
159
|
+
CoordinateSpan.new([1, 2])
|
160
|
+
CoordinateSpan.new(MKCoordinateSpan)
|
161
|
+
```
|
162
|
+
|
163
|
+
Methods on `CoordinateSpan`
|
164
|
+
|
165
|
+
```ruby
|
166
|
+
>> cs = CoordinateSpan.new(1, 2)
|
167
|
+
=> [1, 2]
|
168
|
+
>> cs.latitude_delta
|
169
|
+
=> 1
|
170
|
+
>> cs.longitude_delta
|
171
|
+
=> 2
|
172
|
+
>> cs.to_array
|
173
|
+
=> [1, 2]
|
174
|
+
>> cs.sdk
|
175
|
+
=> MKCoordinateSpan
|
176
|
+
```
|
177
|
+
|
178
|
+
### CoordinateRegion: The wrapper for MKCoordinateRegion
|
179
|
+
|
180
|
+
The `CoordinateRegion` initializer takes a variety of argument types
|
181
|
+
|
39
182
|
```ruby
|
40
|
-
|
41
|
-
|
42
|
-
|
183
|
+
CoordinateRegion.new(CoordinateRegion)
|
184
|
+
CoordinateRegion.new(MKCoordinateRegion)
|
185
|
+
CoordinateRegion.new([56, 10.6], [3.1, 3.1])
|
186
|
+
CoordinateRegion.new(LocationCoordinate, CoordinateSpan)
|
187
|
+
CoordinateRegion.new(CLLocationCoordinate2D, MKCoordinateSpan)
|
188
|
+
```
|
189
|
+
|
190
|
+
Methods on `CoordinateRegion`
|
191
|
+
|
43
192
|
```ruby
|
44
|
-
|
45
|
-
|
193
|
+
>> cr = CoordinateRegion.new([56, 10.6], [3.1, 5.1])
|
194
|
+
=> {:center => [56, 10.6], :span => [3.1, 5.1]}
|
195
|
+
>> cs.center
|
196
|
+
=> LocationCoordinate([56, 10.6])
|
197
|
+
>> cs.region
|
198
|
+
=> CoordinateSpan([3.1, 5.1])
|
199
|
+
>> cs.to_hash
|
200
|
+
=> {:center => [56, 10.6], :span => [3.1, 5.1]}
|
201
|
+
>> cs.sdk
|
202
|
+
=> MKCoordinateRegion
|
203
|
+
```
|
204
|
+
|
205
|
+
### MapPoint: The wrapper for MKMapPoint
|
206
|
+
|
207
|
+
The `MapPoint` initializer takes a variety of argument types
|
208
|
+
|
209
|
+
```ruby
|
210
|
+
MapPoint.new(50, 45)
|
211
|
+
MapPoint.new([50, 45])
|
212
|
+
MapPoint.new(MKMapPoint)
|
213
|
+
```
|
214
|
+
|
215
|
+
Methods on `MapPoint`
|
216
|
+
|
217
|
+
```ruby
|
218
|
+
>> mp = MapPoint.new(50, 45)
|
219
|
+
=> [50, 45]
|
220
|
+
>> mp.x
|
221
|
+
=> 50
|
222
|
+
>> mp.y
|
223
|
+
=> 45
|
224
|
+
>> mp.to_array
|
225
|
+
=> [50, 45]
|
226
|
+
>> mp.sdk
|
227
|
+
=> MKMapPoint
|
228
|
+
```
|
229
|
+
|
230
|
+
### MapSize: The wrapper for MKMapSize
|
231
|
+
|
232
|
+
The `MapSize` initializer takes a variety of argument types
|
233
|
+
|
234
|
+
```ruby
|
235
|
+
MapSize.new(10, 12)
|
236
|
+
MapSize.new([10, 12])
|
237
|
+
MapSize.new(MKMapSize)
|
238
|
+
```
|
239
|
+
|
240
|
+
Methods on `MapSize`
|
241
|
+
|
242
|
+
```ruby
|
243
|
+
>> ms = MapSize.new(10, 12)
|
244
|
+
=> [10, 12]
|
245
|
+
>> ms.width
|
246
|
+
=> 10
|
247
|
+
>> ms.height
|
248
|
+
=> 12
|
249
|
+
>> ms.to_array
|
250
|
+
=> [50, 45]
|
251
|
+
>> ms.sdk
|
252
|
+
=> MKMapSize
|
253
|
+
```
|
254
|
+
|
255
|
+
### MapRect: The wrapper for MKMapRect
|
256
|
+
|
257
|
+
The `MapRect` initializer takes a variety of argument types
|
258
|
+
|
259
|
+
```ruby
|
260
|
+
MapRect.new(x, y, width, height)
|
261
|
+
MapRect.new([x, y], [width, height])
|
262
|
+
MapRect.new(MapPoint, MapSize)
|
263
|
+
MapRect.new(MKMapPoint, MKMapSize)
|
264
|
+
```
|
265
|
+
|
266
|
+
Methods on `MapRect`
|
267
|
+
|
268
|
+
```ruby
|
269
|
+
>> mr = MapRect.new(2, 3, 10, 12)
|
270
|
+
=> {:origin => [2, 3], :size => [10, 12]}
|
271
|
+
>> mr.origin
|
272
|
+
=> MapRect([2, 3])
|
273
|
+
>> mr.size
|
274
|
+
=> MapSize([10, 12])
|
275
|
+
>> mr.to_hash
|
276
|
+
=> {:origin => [2, 3], :size => [10, 12]}
|
277
|
+
>> mr.sdk
|
278
|
+
=> MKMapRect
|
279
|
+
```
|
46
280
|
|
data/lib/map-kit-wrapper.rb
CHANGED
@@ -7,7 +7,7 @@ Motion::Project::App.setup do |app|
|
|
7
7
|
base_path = "#{File.dirname(__FILE__)}/map-kit-wrapper"
|
8
8
|
graph = Codependency::Graph.new("#{base_path}/map_view.rb")
|
9
9
|
|
10
|
-
files = (graph.files + Dir.glob(File.join(File.dirname(__FILE__), 'map-kit-wrapper/*.rb'))
|
10
|
+
files = (graph.files + Dir.glob(File.join(File.dirname(__FILE__), 'map-kit-wrapper/*.rb'))).uniq
|
11
11
|
files.reverse.each do |file|
|
12
12
|
app.files.unshift(file)
|
13
13
|
end
|
@@ -1,12 +1,14 @@
|
|
1
1
|
module CoreLocation
|
2
|
+
##
|
2
3
|
# Wrappers for the Core Location Data Types
|
3
4
|
# http://developer.apple.com/library/mac/#documentation/CoreLocation/Reference/CoreLocationDataTypesRef/Reference/reference.html
|
4
5
|
module DataTypes
|
5
|
-
|
6
|
+
##
|
6
7
|
# Ruby wrapper for CLLocationCoordinate2D
|
7
8
|
class LocationCoordinate
|
8
9
|
attr_reader :sdk
|
9
10
|
|
11
|
+
##
|
10
12
|
# LocationCoordinate.new(1,2)
|
11
13
|
# LocationCoordinate.new([1,2])
|
12
14
|
# LocationCoordinate.new(LocationCoordinate)
|
@@ -1,14 +1,15 @@
|
|
1
1
|
# require core_location_data_types
|
2
2
|
|
3
3
|
module MapKit
|
4
|
+
##
|
4
5
|
# Wrappers for the Map Kit Data Types
|
5
6
|
# http://developer.apple.com/library/ios/#documentation/MapKit/Reference/MapKitDataTypesReference/Reference/reference.html
|
6
7
|
module DataTypes
|
7
|
-
|
8
|
+
##
|
8
9
|
# Wrapper for MKCoordinateSpan
|
9
10
|
class CoordinateSpan
|
10
11
|
attr_reader :sdk
|
11
|
-
|
12
|
+
##
|
12
13
|
# CoordinateSpan.new(1,2)
|
13
14
|
# CoordinateSpan.new([1,2])
|
14
15
|
# CoordinateSpan.new(MKCoordinateSpan)
|
@@ -33,12 +34,12 @@ module MapKit
|
|
33
34
|
[latitude_delta, longitude_delta]
|
34
35
|
end
|
35
36
|
end
|
36
|
-
|
37
|
+
##
|
37
38
|
# Wrapper for MKCoordinateRegion
|
38
39
|
class CoordinateRegion
|
39
40
|
include CoreLocation::DataTypes
|
40
41
|
attr_reader :sdk
|
41
|
-
|
42
|
+
##
|
42
43
|
# CoordinateRegion.new(CoordinateRegion)
|
43
44
|
# CoordinateRegion.new(MKCoordinateRegion)
|
44
45
|
# CoordinateRegion.new([56, 10.6], [3.1, 3.1])
|
@@ -70,11 +71,11 @@ module MapKit
|
|
70
71
|
{:center => center.to_array, :span => span.to_array}
|
71
72
|
end
|
72
73
|
end
|
73
|
-
|
74
|
+
##
|
74
75
|
# Wrapper for MKMapPoint
|
75
76
|
class MapPoint
|
76
77
|
attr_reader :sdk
|
77
|
-
|
78
|
+
##
|
78
79
|
# MapPoint.new(50,45)
|
79
80
|
# MapPoint.new([50,45])
|
80
81
|
# MapPoint.new(MKMapPoint)
|
@@ -99,11 +100,11 @@ module MapKit
|
|
99
100
|
[x, y]
|
100
101
|
end
|
101
102
|
end
|
102
|
-
|
103
|
+
##
|
103
104
|
# Wrapper for MKMapSize
|
104
105
|
class MapSize
|
105
106
|
attr_reader :sdk
|
106
|
-
|
107
|
+
##
|
107
108
|
# MapSize.new(10,12)
|
108
109
|
# MapSize.new([10,12])
|
109
110
|
# MapSize.new(MKMapSize)
|
@@ -128,11 +129,11 @@ module MapKit
|
|
128
129
|
[width, height]
|
129
130
|
end
|
130
131
|
end
|
131
|
-
|
132
|
+
##
|
132
133
|
# Wrapper for MKMapRect
|
133
134
|
class MapRect
|
134
135
|
attr_reader :sdk
|
135
|
-
|
136
|
+
##
|
136
137
|
# MapRect.new(x, y, width, height)
|
137
138
|
# MapRect.new([x, y], [width, height])
|
138
139
|
# MapRect.new(MapPoint, MapSize)
|
@@ -8,6 +8,8 @@ module MapKit
|
|
8
8
|
:satellite
|
9
9
|
when MKMapTypeHybrid
|
10
10
|
:hybrid
|
11
|
+
else
|
12
|
+
raise "Unknown map type: #{map_type.inspect}"
|
11
13
|
end
|
12
14
|
end
|
13
15
|
|
@@ -19,6 +21,8 @@ module MapKit
|
|
19
21
|
MKMapTypeSatellite
|
20
22
|
when :hybrid
|
21
23
|
MKMapTypeHybrid
|
24
|
+
else
|
25
|
+
raise "Unknown map type: #{map_type.inspect}"
|
22
26
|
end
|
23
27
|
end
|
24
28
|
end
|
@@ -6,6 +6,7 @@ module MapKit
|
|
6
6
|
include CoreLocation::DataTypes
|
7
7
|
include MapKit::DataTypes
|
8
8
|
|
9
|
+
##
|
9
10
|
# Wrapper for MKMapView
|
10
11
|
class MapView < MKMapView
|
11
12
|
include CoreLocation::DataTypes
|
@@ -16,58 +17,74 @@ module MapKit
|
|
16
17
|
self.alloc.init
|
17
18
|
end
|
18
19
|
|
19
|
-
|
20
|
-
|
20
|
+
##
|
21
|
+
# Show if zoom is enabled
|
21
22
|
def zoom_enabled?
|
22
23
|
self.isZoomEnabled
|
23
24
|
end
|
24
25
|
|
26
|
+
##
|
27
|
+
# Set zoom on/off
|
25
28
|
def zoom_enabled=(enabled)
|
26
29
|
self.setZoomEnabled(enabled)
|
27
30
|
end
|
28
31
|
|
29
|
-
|
30
|
-
|
32
|
+
##
|
33
|
+
# Show if scroll is enbaled
|
31
34
|
def scroll_enabled?
|
32
35
|
self.isScrollEnabled
|
33
36
|
end
|
34
37
|
|
38
|
+
##
|
39
|
+
# Set scroll on/off
|
35
40
|
def scroll_enabled=(enabled)
|
36
41
|
self.setScrollEnabled(enabled)
|
37
42
|
end
|
38
43
|
|
39
|
-
|
40
|
-
|
44
|
+
##
|
45
|
+
# Show if the users location is on the map
|
41
46
|
def shows_user_location?
|
42
47
|
self.showsUserLocation
|
43
48
|
end
|
44
49
|
|
50
|
+
##
|
51
|
+
# Set visible user location on/off
|
45
52
|
def shows_user_location=(enabled)
|
46
53
|
self.showsUserLocation = enabled
|
47
54
|
end
|
48
55
|
|
56
|
+
##
|
57
|
+
# Show if the users has been located yet
|
49
58
|
def user_located?
|
50
59
|
self.shows_user_location? && self.userLocation.location ? true : false
|
51
60
|
end
|
52
61
|
|
62
|
+
##
|
63
|
+
# Show the users coordinates
|
64
|
+
# defaults to nil if the functionality is turned off
|
65
|
+
# or the location has not yet been found
|
53
66
|
def user_coordinates
|
54
67
|
self.user_located? ? LocationCoordinate.new(self.userLocation.location.coordinate) : nil
|
55
68
|
end
|
56
69
|
|
57
|
-
|
58
|
-
|
70
|
+
##
|
71
|
+
# Get the maps region
|
59
72
|
def get_region
|
60
73
|
CoordinateRegion.new(self.region.center, self.region.span)
|
61
74
|
end
|
62
75
|
|
76
|
+
##
|
77
|
+
# Set the maps region
|
63
78
|
def region=(*args)
|
64
79
|
self.set_region(CoordinateRegion.new(args.first), false)
|
65
80
|
end
|
66
81
|
|
82
|
+
##
|
83
|
+
# Set the maps region including animation
|
67
84
|
def set_region(coordinate_region, *args)
|
68
85
|
opts = {:animated => false}
|
69
86
|
opts.merge!(args.first) if args.first
|
70
|
-
self.setRegion(coordinate_region.sdk, animated:opts[:animated])
|
87
|
+
self.setRegion(coordinate_region.sdk, animated: opts[:animated])
|
71
88
|
end
|
72
89
|
end
|
73
90
|
end
|
@@ -1,13 +1,15 @@
|
|
1
1
|
module MapKit
|
2
|
-
|
2
|
+
##
|
3
|
+
# Ruby adaption of http://troybrant.net/blog/2010/01/set-the-zoom-level-of-an-mkmapview/
|
3
4
|
module ZoomLevel
|
4
5
|
include Math
|
5
6
|
MERCATOR_OFFSET = 268435456.0
|
6
7
|
MERCATOR_RADIUS = 85445659.44705395
|
7
8
|
|
9
|
+
##
|
10
|
+
# Map conversion methods
|
8
11
|
module ClassMethods
|
9
12
|
include Math
|
10
|
-
# Map conversion methods
|
11
13
|
|
12
14
|
def longitude_to_pixel_space_x(longitude)
|
13
15
|
(MERCATOR_OFFSET + MERCATOR_RADIUS * longitude * PI / 180.0).round
|
@@ -63,6 +65,7 @@ module MapKit
|
|
63
65
|
MKCoordinateSpanMake(latitude_delta, longitude_delta)
|
64
66
|
end
|
65
67
|
|
68
|
+
##
|
66
69
|
# KMapView cannot display tiles that cross the pole
|
67
70
|
# This would involve wrapping the map from top to bottom, something that a Mercator projection just cannot do.
|
68
71
|
def coordinate_region_with_map_view(map_view, center_coordinate, zoom_level)
|
@@ -127,9 +130,9 @@ module MapKit
|
|
127
130
|
|
128
131
|
# Public methods
|
129
132
|
|
130
|
-
def set_center_coordinates(center_coordinate, zoom_level, animated)
|
131
|
-
# clamp large numbers to
|
132
|
-
zoom_level = [zoom_level,
|
133
|
+
def set_center_coordinates(center_coordinate, zoom_level, animated = false)
|
134
|
+
# clamp large numbers to 18
|
135
|
+
zoom_level = [zoom_level, 18].min
|
133
136
|
|
134
137
|
# use the zoom level to compute the region
|
135
138
|
span = self.class.coordinate_span_with_map_view(self, center_coordinate, zoom_level)
|
@@ -139,11 +142,14 @@ module MapKit
|
|
139
142
|
self.setRegion(region, animated: animated)
|
140
143
|
end
|
141
144
|
|
142
|
-
def set_map_lat_lon(latitude, longitude, zoom_level, animated)
|
145
|
+
def set_map_lat_lon(latitude, longitude, zoom_level, animated = false)
|
143
146
|
coordinates = CLLocationCoordinate2DMake(latitude, longitude)
|
144
147
|
self.set_center_coordinates(coordinates, zoom_level, animated)
|
145
148
|
end
|
146
149
|
|
150
|
+
##
|
151
|
+
# Get the current zoom level
|
152
|
+
|
147
153
|
def zoom_level
|
148
154
|
region = self.region
|
149
155
|
|
@@ -158,5 +164,12 @@ module MapKit
|
|
158
164
|
zoom_level
|
159
165
|
end
|
160
166
|
|
167
|
+
##
|
168
|
+
# Set the current zoom level
|
169
|
+
|
170
|
+
def set_zoom_level(zoom_level, animated = false)
|
171
|
+
self.set_center_coordinates(self.region.center, zoom_level, animated)
|
172
|
+
end
|
173
|
+
|
161
174
|
end
|
162
175
|
end
|
data/spec/lib/zoom_level_spec.rb
CHANGED
@@ -40,6 +40,8 @@ describe 'ZoomLevel' do
|
|
40
40
|
span.longitude_delta.should.equal 56.25
|
41
41
|
center.latitude.should.equal 55.9737854003906
|
42
42
|
center.longitude.should.equal 10.01953125
|
43
|
+
@map.set_center_coordinates(CLLocationCoordinate2DMake(0, 0), 50, false)
|
44
|
+
@map.zoom_level.should.equal 18
|
43
45
|
end
|
44
46
|
|
45
47
|
it 'should return set_map_lat_lon' do
|
@@ -68,4 +70,9 @@ describe 'ZoomLevel' do
|
|
68
70
|
it 'should have a zoom_level' do
|
69
71
|
@map.zoom_level.should.equal 5.00000381469727
|
70
72
|
end
|
73
|
+
|
74
|
+
it 'should set a zoom_level' do
|
75
|
+
@map.set_zoom_level(15, false)
|
76
|
+
@map.zoom_level.should.equal 15
|
77
|
+
end
|
71
78
|
end
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: map-kit-wrapper
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 25
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 0
|
9
|
-
-
|
10
|
-
version: 0.0.
|
9
|
+
- 3
|
10
|
+
version: 0.0.3
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Kasper Weibel Nielsen-Refs
|