-
Notifications
You must be signed in to change notification settings - Fork 0
/
CHANGELOG
406 lines (367 loc) · 18.5 KB
/
CHANGELOG
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
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
Version 1.9.2 - February 2015
=============================
Resolved Issues:
- Show correct characters for Myanmar place labels.
- Fixed small memory leak related to font registration.
- Fixed large memory leak in rare cases where My Location is enabled and the user rotates
the screen.
- Correctly show ground overlays defined by zoom level which extend across >180 degrees
of longitude.
- Allow selected marker to be set during mapView:didTapAtCoordinate:.
- Throw exception rather than crash when map services are initialized while application is
in background.
- Raise mapView:willMove: and mapView:idleAtCameraPosition: even for swipe motions which
last less than 30ms.
- Correctly handle animations starting while a gesture is decelerating.
- Always return an error from GMSPanoramaService callbacks if panorama is nil.
- Don't attempt to navigate to empty panorama if moveNearCoordinate: resolves to nil.
Version 1.9.1 - December 2014
=============================
Resolved Issues:
- Added workaround for userEmail private selector false positive.
- Improved handling of info windows for iPhone 6+ running applications in scaled mode.
Version 1.9.0 - October 2014
============================
Features:
- Support for iOS 8
- Support for iPhone 6/6+
- Support for Swift
- UI elements have been updated for material design
Resolved Issues:
- Fixed some memory reclamation issues
- Improved handling of application background state transition
Notes:
! In order to improve compatibility with Swift, two geometry library
functions have been renamed to avoid function overloading
The new names are GMSGeometryIsLocationOnPathTolerance and
GMSStyleSpansOffset
Version 1.8.1 - May 2014
========================
Resolved Issues:
- Resolved GMSTileLayer not displaying
- Resolved a rare case where an app would crash when displaying polylines
while accessibility features are enabled
- mapView:willMove: is no longer called alongside a tap gesture
- Resolved symbol collisions with the Protocol Buffer library
Version 1.8.0 - May 2014
========================
Resolved Issues:
- Resolved threading deadlock prominent on iPhone 4 running iOS 7.1 or later
- GMSMapView correctly releases some shared GL state previously causing
memory leak
- GMSPolyline no longer crashes in some cases where its path contained more
than 1024 segments
- The delegate method mapView:idleAtCameraPosition: is now only called once
all user gestures are complete
- The Google Maps SDK for iOS now includes fonts for languages currently
unsupported by the iOS system, such as Khmer
- These fonts may be safely removed from your GoogleMaps.framework if you
have no interest in these regions, but some text may render as "[?]"
Version 1.7.2 - March 2014
==========================
Resolved Issues:
- Heading will only appear on My Location dot when available
- Better reduction of colors on gradient or colored polylines at low zoom
- The search radius is now respected when retrieving a GMSPanorama object
via GMSPanoramaService and on GMSPanoramaView construction or move
- GMSPolyline is no longer grayscale on iOS 7.1
Version 1.7.0 - February 2014
=============================
Features:
- Styled polylines: additional color options via GMSPolyline, including
gradients and colors per any number of polyline segments
* Each polyline may be drawn with many GMSStyleSpan instances, configuring
a unique color or gradient over an arbitrary number of segments
* Gradient or color may be specified via a GMSStrokeStyle
* GMSPath provides a helper category to determine distance along a path
* GMSStyleSpans helper to apply repeated styles along a polyline
- GMSGeocoder now provides structured addresses via GMSAddress, deprecating
GMSReverseGeocodeResult
- Added mutable version of GMSCameraPosition, GMSMutableCameraPosition
- Delegate method for user tapping the My Location button
- Added GMSMapPoint for linear interpolation between points in Mercator space
on the Earth
- My Location dot now shows compass arrow
- 3D building data at many places on the Earth
Resolved Issues:
- GMSPolyline width is much closer to screen width
- GMSPolyline performance and memory improvements
- Reduced memory use of OpenGL textures
- Floor picker is positioned correctly when My Location button is disabled
- cameraForBounds:insets: on GMSMapView now correctly accounts for padding
Notes:
! To align with other Google Maps APIs, GMSMapView no longer provides helper
methods to retrieve previously added overlays, such as -markers, -polylines
and -groundOverlays
Version 1.6.2 - January 2014
============================
Resolved Issues:
- Resolved a gesture bug effecting full-screen maps on iOS 7
- Resolved an issue where overlays were sometimes not initially tappable
Version 1.6.1 - December 2013
=============================
Resolved Issues:
- Resolved a memory leak involving vector tiles
- Markers not immediately added to a GMSMapView no longer fail to appear
when configured at a later point
- GMSMapView/GMSPanoramaView will now continue to render while your
application is resigned
Version 1.6.0 - November 2013
=============================
Features:
- The Google Maps SDK for iOS now supports 64-bit architectures
- Added the ability to restrict min and max zoom on GMSMapView
- Added opacity on GMSTileLayer
- Added opacity on GMSMarker, which may be animated
! Updated types within the SDK and used float or double instead of CGFloat
in cases where it was more appropriate
! Core Animation on GMSMapView now requires model values to be set
Resolved Issues:
- Marker info windows and tappable regions now rotate correctly with markers
- Padding on a GMSMapView is no longer clamped to its bounds (useful if
setting padding on an initially zero-sized map)
- Copyright information now animates alongside changing GMSMapView size or
padding
- Info windows are removed if their GMSMarker is removed from a GMSMapView
- My Location dot uses the last known information when enabled
- Resolved two rare race conditions that were causing crashes
- Resolved an issue where retain cycles were causing memory leaks on
GMSMapView and GMSPanoramaView
Version 1.5.0 - September 2013
==============================
Features:
! This release officially supports iOS 7, and requires iOS 6.0 or later (iOS
5.1 is no longer supported).
! The 'animated' field on GMSMarker is now known as 'appearAnimation', and
may be set to kGMSMarkerAnimationNone (default) or kGMSMarkerAnimationPop
- The Google Maps SDK for iOS now ships with an armv7s slice
- New features for GMSMarker instances
* Markers can be made draggable using the draggable property, and new drag
delegate methods have been added to GMSMapViewDelegate
* Added GMSMarkerLayer, a custom CALayer subclass for GMSMarker that
supports animation of marker position and rotation
* Added support for markers that appear flat against the Earth's surface
* Added rotation property to rotate markers around their ground anchor
* The UIImage used by GMSMarker now supports the images and duration
properties, and will animate images with multiple frames
* The UIImage used by GMSMarker now supports alignmentRectInsets, and will
adjust groundAnchor, infoWindowAnchor, and the tappable region
- Added padding on GMSMapView, allowing you to indicate parts of the map that
may be obscured by other views; setting padding re-positions the standard
map controls, and the camera and camera updates will use the padded region
- GMSPanoramaView and GMSPanoramaService now support searching for panoramas
with custom radius
- Added cameraForBounds:insets: to GMSMapView, allowing construction of a
GMSCameraPosition for the map from a specified GMSCoordinateBounds
Resolved Issues:
- My Location button now clips within GMSMapView
- Reduced memory usage of GMSMapView through less agressive tile caching
- Reduced the time taken to obtain GMSServices by moving some startup tasks
to a background thread; obtaining this object early in your application
(before creating a GMSMapView or other objects) may improve performance
- Polylines may now be drawn twice, as required, if they have very large
longitudinal span
- Resolved a rounding error with very small polygons far from latlng (0,0)
Version 1.4.3 - August 2013
===========================
Resolved Issues:
- Resolved several causes of modifying markers that could cause 'ghost'
markers to appear
- Resolved excess texture use when modifying animated markers
Version 1.4.2 - August 2013
===========================
Resolved Issues:
- Fixed a rare case where modifying an animated marker could cause 'ghost'
markers to appear
- Prioritized markers over other overlays for tappability
Version 1.4.1 - August 2013
===========================
Features:
- Tappable markers inside GMSPanoramaView using the
panoramaView:didTapMarker: delegate method on GMSPanoramaViewDelegate
- Added GMSPanoramaLayer, a custom CALayer subclass for GMSPanoramaView that
supports animation of the panorama camera
- GMSPanoramaCamera supports custom field of view (FOV)
- Programmatic access to the floor picker allows you to enable or disable the
selector, and set which floor should be displayed
- GMSTileLayer now supports high DPI tiles, for use on a Retina device
- GMSMapView.camera is now observable via KVO
- Added fitBounds:withEdgeInsets: to GMSCameraUpdate
- The default behavior of a GMSMapView to consume all gestures within its
bounds may now be disabled via consumesGesturesInView
- Expanded GMSGeometryUtils to include additional helper methods
- GMSServices may be held by applications to maintain cache and connection to
Google; this can improve performance when creating and destroying many maps
- Improved visuals when resizing a GMSMapView via UIView animation methods
Resolved Issues:
- Fixed crash bug during memory warning (related to indoor)
- Fixed crash bug with indoor maps on iOS 5.1
- Performance improvements when using hundreds of GMSMarkers
- Reduced memory footprint of GMSMapView
- Touch target for GMSMarkers matches the size and shape of the marker when
the GMSMapView is tilted
- GMSMapView will no longer render a single frame of black in some cases
(noticable e.g., inside UISplitViewController on iPad)
- Street View imagery is now adjusted correctly for tilted base data
(e.g., data taken by a Street View car on a slope)
- Geodesic interpolation has been tweaked to be more correct
- Fixed incorrect GMSGroundOverlay sizing (regression in 1.4.0)
- fitBounds:withPadding: on GMSCameraUpdate now correctly applies padding to
all edges of the bounds; previously it used 1/2 padding on each edge
Version 1.4.0 - July 2013
=========================
Features:
- Support for Google Street View imagery, with coverage in 50+ countries
* Added GMSPanoramaView, a viewer for Street View imagery, that enables
both programmatic and user control
* GMSMarkers can be shared between GMSMapView and GMSPanoramaView
* GMSPanoramaService may be used to load panorama data ahead of display
- Indoor floor plans and a floor selector control will now be displayed when
available
- Updated map design inspired by the new Google Maps
- Info windows now show at 1:1 resolution on the screen regardless of tilt
- Additional delegate methods on GMSMapView - mapView:willMove: and
mapView:idleAtCameraPosition: - allow you to detect the start and
end of camera movement, respectively
- An improved look and feel for polylines and polygon stroke
- Added a zIndex property on all overlays; z-indexes are calculated in two
groups: GMSMarkers and all other overlays
- Added GMSGeometryUtils methods for heading, distance, offset etc. with
respect to points on the Earth
Resolved Issues:
- Improved the tappability of GMSPolygon
- The compass now disappears when the map returns to zero bearing for any
reason, including animation
- Resolved crash issue when creating a zero-sized GMSPolygon
- Resolved an issue where active gestures could cause a GMSMapView to not
be released until deceleration completed
- Info windows no longer allow taps to pass through them
! Accessibility elements on GMSMapView are now hidden by default; you can
enable via accessibilityElementsHidden
Notes:
! To align with other Google Maps APIs, GMSGroundOverlay no longer supports
the zoomLevel property. You can use the helper method
groundOverlayWithPosition:icon:zoomLevel: to migrate existing code
Version 1.3.1 - June 2013
=========================
Resolved Issues:
- Shows all tiles when animating across the antimeridian
- Performance improvements while zooming
- Touches are consumed more agressively by GMSMapView
- Fixed constructing a GMSMutablePath via pathFromEncodedPath:
- Restores OpenGL state correctly in GMSMapView in applications that also use
GLKView
Version 1.3.0 - May 2013
========================
Features:
- Support for custom tile overlays (image-based) via GMSTileLayer
- Anti-aliasing for GMSPolyline and GMSPolygon stroke
- Support for 'invisible' base map tiles via kGMSTypeNone
- Basic support for CAAnimationGroup on GMSMapLayer
Resolved Issues:
- Performance improvements with large numbers of overlays
- Resolved excessive memory use when device was locked/unlocked while an info
window was displayed
- Animations are stopped when a user performs a gesture
- Animations stop any active gesture (e.g., a pan)
- Resolved crash issue with setting/clearing My Location dot.
- GMSPolyline and GMSPolygon now support greater precision at high zoom
- GMSPolyline and GMSPolygon use the correct alpha values
- Touches are consumed by GMSMapView, allowing use within e.g. a scroll view
Version 1.2.2 - April 2013
==========================
Resolved Issues:
- Tappable regions for GMSMarker fixed.
- Overlays are no longer able to render on half pixels.
- Ground overlays appear underneath the My Location dot.
- GMSPolyline 'strokeColor' is no longer erroneously deallocated.
Version 1.2.0 - April 2013
==========================
Features:
! Removed GMS...Options classes in favor of creating overlays directly
and setting their 'map' property
! Map overlays (GMSMarker, GMSPolyline, others) now inherit from a shared
GMSOverlay class
! GMSPolyline now has 'strokeWidth' and 'strokeColor' to match GMSPolygon,
rather than 'width' and 'stroke'
! More helper methods on GMSCoordinateBounds, 'including' renamed to
'includingCoordinate', added 'includingBounds'
- Added GMSPolygon and GMSCircle overlays
- A GMSMarker may be animated when added to a map
- Overlay types may now be subclassed
- GMSCameraUpdate to create camera update objects, including operations to
set a camera that presents a specified GMSCoordinateBounds
- GMSUISettings may be used to add a compass or My Location button (disabled
by default)
- Non-marker overlay types may be tapped (see GMSMapViewDelegate)
- Default marker changed to the Google Maps for iPhone marker
- Added markerImageWithColor: to create tinted versions of the default marker
- GMSMapLayer, the CALayer subclass for GMSMapView, now supports modification
of its camera properties, allowing for advanced animation effects
Resolved Issues:
- visibleRegion now reports correctly sized region on Retina devices
- Double-tap to zoom now centers around tapped point
- Disabling pan via UISettings now prevents movement with zoom gestures
- GMSPolyline performance is improved for large polylines
- GMSMapView may be subclassed
- My Location dot appears underneath markers
- Performance improvements when using the My Location dot
- Grayscale polylines now render correctly
- Calling renderInContext: on the GMSMapView layer now renders correctly;
this allows for snapshots and UI effects
- The default behavior when a marker is tapped has been updated to also pan
the camera to the marker's position
- semaphore_wait_trap issue resolved
Version 1.1.2 - March 2013
==========================
Resolved Issues:
! Updated the SDK to use libc++ instead of libstdc++
- Improved support for including a GMSMapView and GLKView in the same app
Version 1.1.1 - March 2013
==========================
Features:
- Improved the messages that are logged to the console when a invalid key is
used or a connection error occurs
- Added multi-line snippet support for GMSMarker
Resolved Issues:
- GMSMapView could return a nil camera
- Multiple GMSMapView instances no longer 'camera crosstalk.'
- The SDK contained unresolved external references
- A GMSMarker with an empty title and snippet no longer shows an empty
info window.
Version 1.1.0 - February 2013
=============================
Features:
! The points of a GMSPolyline (and GMSPolylineOptions) are now specified as
a GMSPath and built via a GMSMutablePath, rather than addVertex: etc
- GMSPolyline may now be specified as geodesic
- animateToCameraPosition: method on GMSMapView
- GMSProjection provides containsCoordinate: and visibleRegion helpers
Resolved Issues:
- GMSCameraPosition and animateToLocation: now clamp/wrap latitude/longitude
respectively; similarly, bearing is clamped to 0 <= bearing < 360
- GMSGroundOverlay may be modified after creation
- The points of a GMSPoyline may be modified after creation
- GMSPolyline may cross the antimeridian
- Resolved a marker sorting issue
Version 1.0.2 - January 2013
============================
Features:
! GMSCamera (struct) has been dropped in favor of GMSCameraPosition * (objc
class), supports finer control of bearing and viewing angle
- Added GMSUISettings to control gesture availability
- Added GMSGroundOverlay/GMSGroundOverlayOptions for basic ground overlay
support
- Removed requirement to call startRendering/stopRendering
- Support for adding GMSMapView as a custom UIView in Interface Builder
- Improved texture memory handling
Resolved Issues:
- Info windows now have highest tap priority
- Selected markers are automatically brought to front
- Polylines now render at constant size regardless of the zoom level
Version 1.0.1 - December 2012
=============================
Initial release alongside Google Maps for iOS.
Support for 3D maps, rotation, tilt, 3D buildings, markers, polylines,
satellite and terrain tiles, traffic data, and other features.
* Items denoted with an '!' may indicate a backwards incompatible change.