CHANGELOG 36 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813
  1. Version 3.1.0 - April 2019
  2. ==========================
  3. Resolved Issues:
  4. - Indoor maps are now styled to match external maps.
  5. - Fixes a crash around markup entities added to the map before the map was
  6. ready to draw.
  7. Version 3.0.3 - February 2019
  8. =============================
  9. Resolved Issues:
  10. - Fixes the occasional rendering bug when the using polygon overlay feature.
  11. Version 3.0.0 - January 2019
  12. ==========================
  13. Note:
  14. - Support for iOS 8.0 has been dropped. The new minimum is iOS 9.0.
  15. Known Issues:
  16. - There is an occasional rendering bug when the using polygon overlay feature.
  17. Version 2.7.0 - April 2018
  18. ==========================
  19. Improvements:
  20. - Improved documentation on thread safety of GMSServices.
  21. Resolved Issues:
  22. - Fixed crash in GMSDASHStreamingBody.
  23. - Fixed Google Logo positioning in GMSPanoramaView.
  24. Note:
  25. - Support for Xcode 8.0 has been dropped. The new minimum is Xcode 9.0.
  26. Version 2.6.0 - February 2018
  27. =============================
  28. Features:
  29. - Added a mechanism for Developers to enable experimental features.
  30. - Added a click listener to the My Location dot. This allows developers to
  31. respond to interactions with the My Location dot.
  32. - Added a Source attribute to Panorama searches allowing them to be restricted
  33. to outdoor-only results. Note that this feature is experimental and some
  34. searches may still include indoor panoramas.
  35. Improvements:
  36. - Updated the default marker to match the new Google Maps marker.
  37. - iOS 11 OpenGL crash reduction.
  38. Resolved Issues:
  39. - Fixed a compile error when the -Wobjc-property-no-attribute flag is used.
  40. Note:
  41. - CoreImage has been added as a dependency.
  42. Version 2.5.0 - October 2017
  43. ============================
  44. Features:
  45. - Added the paddingAdjustmentBehavior property to GMSMapView. This property
  46. controls how safe area insets interact with padding.
  47. Improvements:
  48. - Improved iOS 11 & iPhone X support.
  49. - GMSMapView and GMSPanoramaView managed subviews are now positioned within
  50. iPhone X device safe areas by default.
  51. Resolved Issues:
  52. - Fixed an issue where Xcode 9's Main Thread Checker warns that [UIApplication
  53. applicationState] is being called on a background thread.
  54. - Fixed an issue where setting either navigationLinksHidden or
  55. streetNamesHidden to YES still resulted in the navigation links and street
  56. names appearing.
  57. Note:
  58. - Support for Xcode 7.3 has been dropped. The new minimum is Xcode 8.0.
  59. Version 2.4.0 - August 2017
  60. ===========================
  61. Note:
  62. - The armv7s architecture in the frameworks has been removed. Devices which
  63. previously used armv7s are still supported using the armv7 architecture.
  64. All applications using the default architecture settings in any supported
  65. version of Xcode should not notice any change.
  66. - The layout of the static frameworks has changed. There is no longer a
  67. Versions directory. The contents of Versions/A has been moved to the root
  68. directory of the framework. Developers who manually integrate frameworks
  69. with their project should take additional care during the upgrade.
  70. - Support for Xcode 7.3 will be dropped with 2.5.0.
  71. Resolved Issues:
  72. - Addressed a crash when using GMSPanoramaView with an application moving to
  73. the background state.
  74. Version 2.3.1 - June 2017
  75. ========================
  76. Resolved Issues:
  77. - Fixed an issue where navigating between panoramas did not consistently raise
  78. GMSPanoramaView delegate events.
  79. - Fixed an issue resulting in a crash when UIWebView and GMSPanoramaView are
  80. both in the view hierarchy at the same time.
  81. - Reinstated the tap-drag zoom gesture for GMSPanoramaView.
  82. Version 2.3.0 - May 2017
  83. ========================
  84. Improvements:
  85. - The internals of the GMSPanoramaView and associated classes have had a
  86. significant overhaul. These changes should generally give improved
  87. performance.
  88. - Dropped support for iOS 7, which enabled the use of modern core data
  89. threading models. This means that applications should be able to use
  90. -com.apple.CoreData.ConcurrencyDebug 1 when debugging with iOS 10 devices.
  91. Resolved Issues:
  92. - Fixed case sensitivity issues with imports in GMSTileLayer.h and
  93. GMSPolyline.h.
  94. Note:
  95. - The armv7s architecture in the frameworks will be removed in 2.4. Devices
  96. which previously used armv7s can continue to be supported using the armv7
  97. architecture. All applications using the default architecture settings
  98. in any supported version of Xcode shouldn't notice any change.
  99. Version 2.2.0 - February 2017
  100. =============================
  101. Features:
  102. - Added the `cameraTargetBounds` property to `GMSMapView`.
  103. This property restricts the camera target to the specified bounds area.
  104. Subsequent gestures are then also restricted to keep the camera target
  105. within the specified bounds.
  106. - The `userData` property of `GMSMarker` was moved to its parent class
  107. `GMSOverlay`. This enables the property to be used with the `GMSPolyline`,
  108. `GMSPolygon`, `GMSCircle`, and `GMSGroundOverlay` classes.
  109. Improvements:
  110. - Fixes naming of certain enum cases in Swift. The following enums are
  111. affected: `GMSMapViewType`, `GMSFrameRate`, `GMSMarkerAnimation`, and
  112. `GMSLengthKind`.
  113. Resolved Issues:
  114. - Fixed an issue where the `mapViewSnapshotReady` delegate method was
  115. sometimes raised too early.
  116. Note:
  117. - iOS 7 support is intended to be dropped starting with 2.3. 2.2.x will be
  118. the last release series to support iOS 7.
  119. Version 2.1.1 - November 2016
  120. =============================
  121. Resolved Issues:
  122. - Fixed an issue which caused many Road Shields to not be displayed when
  123. custom styling is active even if the custom styling didn't attempt to style
  124. them.
  125. - Renamed some symbols which could cause duplicate symbols when using all_load
  126. and Firebase.
  127. - Resolved a problem where changing any property of polygon, polyline or
  128. ground overlay in between taps would cause tap cycling to break. This could
  129. make it seem impossible to tap through to items underneath.
  130. - Fixed cameraForBounds:insets: to respect the currently set min and max zoom
  131. restrictions.
  132. Version 2.1.0 - September 2016
  133. ==============================
  134. Features:
  135. - This release introduces custom styling of the base map. You can use a JSON
  136. style declaration to create a `GMSMapStyle` instance and pass it to the
  137. `mapStyle` property, to change the visual display of features like roads,
  138. parks, businesses, and other points of interest. You can use styling to
  139. emphasize particular components of the map, or make the map complement the
  140. style of your app. Styling works only on the `kGMSTypeNormal` map type.
  141. - It is now possible to apply "night mode" to maps, by applying custom styles.
  142. - Business points of interest (POIs) now appear by default on the map,
  143. provided that the map type is `kGMSTypeNormal`. Prior to this release,
  144. local POIs appeared on the map, but not business POIs). Business POIs
  145. represent businesses such as shops, restaurants, hotels, and more.
  146. - You can disable POIs on a map by using map styling.
  147. - With the addition of business points of interest, there is a new optional
  148. method `didTapPOIWithPlaceID` on `GMSMapViewDelegate` which provides
  149. notification when a POI has been tapped.
  150. Resolved Issues:
  151. - Renamed the `canGoOffline` selector internally, to avoid triggering false
  152. positives during submission to the Apple app store.
  153. - The `iconView` property of `GMSMarker` is now correctly marked as nullable.
  154. - The renderer has been updated to avoid a race condition which would
  155. cause rendering to not stop in time when an app transitions to background.
  156. - `GMSPath` `initFromEncodedPath` now returns nil for invalid input
  157. (previously invalid input could result in a crash).
  158. - An additional method was added to `GMSMapView`, which compares two camera
  159. positions to determine whether they are close enough to render identically.
  160. - `GMSCircle` will now always draw at least a dot for small radius circles,
  161. including radius 0.
  162. Version 2.0.1 - July 2016
  163. =========================
  164. Resolved Issues:
  165. - Array properties are now correctly typed when accessed from Swift.
  166. Version 2.0.0 - July 2016
  167. =========================
  168. Improvements:
  169. - This release splits the Places API from the Maps SDK. Previously, if you
  170. wanted to use the Places API you had to include all of GoogleMaps. As a
  171. result of the split, the final size of the Places API binary is 70% smaller
  172. than the previous combined binary. If you are using only the Maps SDK you
  173. will not be affected unless you have pinned your dependency on GoogleMaps
  174. to a version earlier than 2.0. In this case, you should update this
  175. restriction in your Podfile. If you are using the Places API, see the
  176. migration guide online for more details.
  177. Resolved Issues:
  178. - The GoogleMaps binary has been reduced to less than 100MB to avoid
  179. exceeding GitHub's file size limit.
  180. - GMSGroundOverlays now correctly respond to touch input when rotated.
  181. - Marker info windows now render consistently.
  182. - Info windows created using the return value of mapView:markerInfoContents:
  183. will now correctly respect the height of the returned content rather than
  184. always being square based on the width.
  185. - Fixed an issue where texture cache limit is exceeded on devices supporting
  186. @3x sized images.
  187. Version 1.13.2 - May 2016
  188. =========================
  189. Resolved Issues:
  190. - Added a workaround to avoid the false positive for the non-public API
  191. imageWithName: selector.
  192. Version 1.13.1 - May 2016
  193. =========================
  194. Resolved Issues:
  195. - Fixed an application hang when using a UIView with autolayout enabled as an info
  196. window or as a marker iconView.
  197. - Changed lookUpPlaceID to not call its callback twice in error scenarios.
  198. Version 1.13.0 - March 2016
  199. ===========================
  200. Features:
  201. - UIView based markers. Marker content can now show advanced animations by
  202. providing a custom view hierarchy to be displayed through the iconView property.
  203. - Info windows can now have their custom views animated. Set tracksInfoWindowChanges
  204. on the associated marker to YES to enable real-time updates.
  205. - Map rendering now defaults to 60fps on modern iOS devices. Set the new
  206. preferredFrameRate property on GMSMapView to revert to the old behavior
  207. (Conservative) or a new low frame rate option to save battery (PowerSave).
  208. - Added mapViewSnapshotReady: to GMSMapViewDelegate which fires when map content,
  209. including markers and other overlays, has been fully rendered.
  210. - Autocomplete widgets in the Places API now provide options for custom styling.
  211. Resolved Issues:
  212. - GMSCoordinateBounds initWithVisibleRegion: now chooses correct bounds for large
  213. viewports.
  214. - Added a workaround to avoid a graphical glitch in snapshots taken using pre iOS 7
  215. methods when the My Location button is disabled.
  216. - GMSAutocompleteViewController now works when used in a storyboard.
  217. - Added missing Place Type constants.
  218. Version 1.12.3 - February 2016
  219. ==============================
  220. Resolved Issues:
  221. - Fixed corruption in included bitcode that caused Xcode archive action to fail.
  222. - Workaround limitation in Xcode 6.4 which was failing to compile included headers.
  223. Version 1.12.2 - February 2016
  224. ==============================
  225. Features:
  226. - Added place photos to the Places API.
  227. - Added structured address components to GMSPlace objects.
  228. - SDK method signatures have been updated with generics and nullability annotations.
  229. Resolved Issues:
  230. - GMSPlace objects now contain rating and price level where available.
  231. - Minor bugfixes for the autocomplete widget UI.
  232. - panoramaView:didMoveCamera: is no longer raised during the panoramaView delegate
  233. setter.
  234. - Old unused logo files have been removed from the SDK.
  235. - Tap events on polygons near the anti-meridian are more reliable.
  236. - Resolved an issue resulting in unrecognized selector crashes when calling
  237. class methods on categories.
  238. Version 1.12.1 - February 2016
  239. ==============================
  240. This version is exactly the same as 1.11.1. It was released to replace the
  241. removed 1.12.0 release.
  242. Version 1.12.0 - February 2016
  243. ==============================
  244. This version was removed because of errors in the framework and should not be
  245. used.
  246. Version 1.11.1 - December 2015
  247. ==============================
  248. Resolved Issues:
  249. - Modally presented Place Autocomplete widgets now correctly respect
  250. UINavigationBar appearance proxy settings.
  251. - Resolved minor UI issues with the Place Autocomplete widgets.
  252. - Updated GoogleMaps.bundle info.plist to avoid triggering checks in
  253. pre-submission verification.
  254. Version 1.11.0 - December 2015
  255. ==============================
  256. Features:
  257. - Bitcode is now included in the SDK binary for all device architectures.
  258. - Added Place Autocomplete widget classes.
  259. - New events for long press on an info window, and closing an info window, have
  260. been added to GMSMapViewDelegate.
  261. - GMSMapViewDelegate has new events to indicate when map tiles and labels are
  262. pending and finished rendering.
  263. - GMSPanoramaViewDelegate has new events to indicate when panorama tiles are
  264. pending and finished rendering.
  265. - GMSGroundOverlay now supports an alpha multiplier via the opacity property.
  266. - Added a holes property to GMSPolygon to allow for the subtraction away from
  267. the filled area in order to create more complex shapes.
  268. - At zoom levels greater than 14, the maximum tilt has been increased.
  269. - Added an autocomplete screen to the Place Picker.
  270. - Split autocomplete predictions into primary and secondary text fields.
  271. - Added a country filter option to GMSAutocompleteFilter.
  272. - Added a viewport field to GMSPlace.
  273. Resolved Issues:
  274. - Correct handling of taps on overlapping markers.
  275. - Address a race condition dependent crash which can happen when an application
  276. enters and leaves the background while showing a map.
  277. - Fix blank maps which can happen when launching an app into the background.
  278. - Workaround issues with core animation that caused markers to jump.
  279. - Updated to avoid subtle conflicts with applications which use
  280. google-toolbox-for-mac.
  281. - Use the iPhone language instead of the region formatting language for
  282. Places API results.
  283. Notes:
  284. - Setting GMSMapView selectedMarker to a marker not on the map is now ignored,
  285. always set the marker's map property before attempting to select it.
  286. Version 1.10.5 - October 2015
  287. =============================
  288. Resolved Issues:
  289. - Workaround an issue in the Swift compiler's handling of umbrella header
  290. module entries.
  291. Version 1.10.4 - October 2015
  292. =============================
  293. Resolved Issues:
  294. - Fixed a crash on iOS 9 when dismissing the place picker without a selection.
  295. - Fixed a crash when using both a GMSMapView and a UIWebView or WKWebView in the view
  296. hierarchy at the same time.
  297. - Recompiled with Xcode 7 to avoid raising failed to load optimized model log messages
  298. on iOS 9 devices.
  299. Version 1.10.3 - September 2015
  300. ===============================
  301. Features:
  302. - Google logos have been updated.
  303. Resolved Issues:
  304. - Framework now ships with the device version of bundles to pass Xcode 7 archive checks.
  305. Version 1.10.2 - August 2015
  306. ============================
  307. Resolved Issues:
  308. - Fixed a crash releasing a map view while in background.
  309. - Resolved a conflict with apps using gtm-session-fetcher resumable downloads.
  310. - Recompiled with Xcode 6.4 to avoid some bugs in Xcode 6.3 compiler.
  311. - Updated GoogleMaps.bundle info.plist to avoid triggering new checks in
  312. pre-submission verification.
  313. Version 1.10.1 - June 2015
  314. ==========================
  315. Resolved Issues:
  316. - Fixed an issue where instantiating GMSPlacesClient triggered a request to enable Bluetooth.
  317. - Miscellaneous improvements to the GMSPlacePicker UI.
  318. Version 1.10.0 - May 2015
  319. =========================
  320. Major Feature:
  321. - Places API is now bundled with the Google Maps SDK for iOS.
  322. Features:
  323. - New allowScrollGesturesDuringRotateOrZoom property on GMSUISettings controls whether
  324. the user can scroll by panning during multi-touch rotate or zoom gestures.
  325. - GMSPanoramaView now supports being used via storyboard.
  326. - GMSGeocoder now supports being used while the application is in the background.
  327. - GMSServices sharedServices can now be called while application is in the background. Note
  328. that if the first call to sharedServices is while application is in the background some
  329. async initialization work will be deferred until the first time a map is shown where it will
  330. be performed synchronously.
  331. - GMSMapView/GMSPanoramaView init messages can now be handled while the application is in
  332. background. This should remove the last case where GMSMapView/GMSPanoramaView could not
  333. be used in the background.
  334. - GMSMapView/GMSPanormaView delegate properties now support IBOutlet for easier use via
  335. storyboard.
  336. Resolved Issues:
  337. - mapView:didTapMyLocationButtonForMapView: is now correctly called even if no location is
  338. available.
  339. - GMSGroundOverlay now shows correctly when rotated if image aspect ratio doesn't match the
  340. selected ground region.
  341. - Fixed an issue resizing the map on iOS 8.
  342. - Fixed a rare crash under fast camera changes.
  343. - Map no longer hangs when adding a ground overlay with certain invalid bounds.
  344. - Fixed a crash when texture memory is exhausted by markers.
  345. - Correctly return the tapped GMSCircle to mapView:didTapOverlay: for tappable circles.
  346. - mapView:idleAtCameraPosition: will now be called even if there is an ongoing update of the
  347. my location dot.
  348. Notes:
  349. - Due to an ABI change in the Xcode compiler, Xcode 6.3 is now the only supported version for
  350. compiling against Google Maps SDK for iOS.
  351. - The minimum target iOS version for Google Maps SDK for iOS is now 7.0. Version 6.0 is no
  352. longer supported.
  353. Version 1.9.2 - February 2015
  354. =============================
  355. Resolved Issues:
  356. - Show correct characters for Myanmar place labels.
  357. - Fixed small memory leak related to font registration.
  358. - Fixed large memory leak in rare cases where My Location is enabled and the user rotates
  359. the screen.
  360. - Correctly show ground overlays defined by zoom level which extend across >180 degrees
  361. of longitude.
  362. - Allow selected marker to be set during mapView:didTapAtCoordinate:.
  363. - Throw exception rather than crash when map services are initialized while application is
  364. in background.
  365. - Raise mapView:willMove: and mapView:idleAtCameraPosition: even for swipe motions which
  366. last less than 30ms.
  367. - Correctly handle animations starting while a gesture is decelerating.
  368. - Always return an error from GMSPanoramaService callbacks if panorama is nil.
  369. - Don't attempt to navigate to empty panorama if moveNearCoordinate: resolves to nil.
  370. Version 1.9.1 - December 2014
  371. =============================
  372. Resolved Issues:
  373. - Added workaround for userEmail private selector false positive.
  374. - Improved handling of info windows for iPhone 6+ running applications in scaled mode.
  375. Version 1.9.0 - October 2014
  376. ============================
  377. Features:
  378. - Support for iOS 8
  379. - Support for iPhone 6/6+
  380. - Support for Swift
  381. - UI elements have been updated for material design
  382. Resolved Issues:
  383. - Fixed some memory reclamation issues
  384. - Improved handling of application background state transition
  385. Notes:
  386. - In order to improve compatibility with Swift, two geometry library
  387. functions have been renamed to avoid function overloading
  388. The new names are GMSGeometryIsLocationOnPathTolerance and
  389. GMSStyleSpansOffset
  390. Version 1.8.1 - May 2014
  391. ========================
  392. Resolved Issues:
  393. - Resolved GMSTileLayer not displaying
  394. - Resolved a rare case where an app would crash when displaying polylines
  395. while accessibility features are enabled
  396. - mapView:willMove: is no longer called alongside a tap gesture
  397. - Resolved symbol collisions with the Protocol Buffer library
  398. Version 1.8.0 - May 2014
  399. ========================
  400. Resolved Issues:
  401. - Resolved threading deadlock prominent on iPhone 4 running iOS 7.1 or later
  402. - GMSMapView correctly releases some shared GL state previously causing
  403. memory leak
  404. - GMSPolyline no longer crashes in some cases where its path contained more
  405. than 1024 segments
  406. - The delegate method mapView:idleAtCameraPosition: is now only called once
  407. all user gestures are complete
  408. - The Google Maps SDK for iOS now includes fonts for languages currently
  409. unsupported by the iOS system, such as Khmer
  410. - These fonts may be safely removed from your GoogleMaps.framework if you
  411. have no interest in these regions, but some text may render as "[?]"
  412. Version 1.7.2 - March 2014
  413. ==========================
  414. Resolved Issues:
  415. - Heading will only appear on My Location dot when available
  416. - Better reduction of colors on gradient or colored polylines at low zoom
  417. - The search radius is now respected when retrieving a GMSPanorama object
  418. via GMSPanoramaService and on GMSPanoramaView construction or move
  419. - GMSPolyline is no longer grayscale on iOS 7.1
  420. Version 1.7.0 - February 2014
  421. =============================
  422. Features:
  423. - Styled polylines: additional color options via GMSPolyline, including
  424. gradients and colors per any number of polyline segments
  425. * Each polyline may be drawn with many GMSStyleSpan instances, configuring
  426. a unique color or gradient over an arbitrary number of segments
  427. * Gradient or color may be specified via a GMSStrokeStyle
  428. * GMSPath provides a helper category to determine distance along a path
  429. * GMSStyleSpans helper to apply repeated styles along a polyline
  430. - GMSGeocoder now provides structured addresses via GMSAddress, deprecating
  431. GMSReverseGeocodeResult
  432. - Added mutable version of GMSCameraPosition, GMSMutableCameraPosition
  433. - Delegate method for user tapping the My Location button
  434. - Added GMSMapPoint for linear interpolation between points in Mercator space
  435. on the Earth
  436. - My Location dot now shows compass arrow
  437. - 3D building data at many places on the Earth
  438. Resolved Issues:
  439. - GMSPolyline width is much closer to screen width
  440. - GMSPolyline performance and memory improvements
  441. - Reduced memory use of OpenGL textures
  442. - Floor picker is positioned correctly when My Location button is disabled
  443. - cameraForBounds:insets: on GMSMapView now correctly accounts for padding
  444. Notes:
  445. - To align with other Google Maps APIs, GMSMapView no longer provides helper
  446. methods to retrieve previously added overlays, such as -markers, -polylines
  447. and -groundOverlays
  448. Version 1.6.2 - January 2014
  449. ============================
  450. Resolved Issues:
  451. - Resolved a gesture bug effecting full-screen maps on iOS 7
  452. - Resolved an issue where overlays were sometimes not initially tappable
  453. Version 1.6.1 - December 2013
  454. =============================
  455. Resolved Issues:
  456. - Resolved a memory leak involving vector tiles
  457. - Markers not immediately added to a GMSMapView no longer fail to appear
  458. when configured at a later point
  459. - GMSMapView/GMSPanoramaView will now continue to render while your
  460. application is resigned
  461. Version 1.6.0 - November 2013
  462. =============================
  463. Features:
  464. - The Google Maps SDK for iOS now supports 64-bit architectures
  465. - Added the ability to restrict min and max zoom on GMSMapView
  466. - Added opacity on GMSTileLayer
  467. - Added opacity on GMSMarker, which may be animated
  468. - Updated types within the SDK and used float or double instead of CGFloat
  469. in cases where it was more appropriate
  470. - Core Animation on GMSMapView now requires model values to be set
  471. Resolved Issues:
  472. - Marker info windows and tappable regions now rotate correctly with markers
  473. - Padding on a GMSMapView is no longer clamped to its bounds (useful if
  474. setting padding on an initially zero-sized map)
  475. - Copyright information now animates alongside changing GMSMapView size or
  476. padding
  477. - Info windows are removed if their GMSMarker is removed from a GMSMapView
  478. - My Location dot uses the last known information when enabled
  479. - Resolved two rare race conditions that were causing crashes
  480. - Resolved an issue where retain cycles were causing memory leaks on
  481. GMSMapView and GMSPanoramaView
  482. Version 1.5.0 - September 2013
  483. ==============================
  484. Features:
  485. - This release officially supports iOS 7, and requires iOS 6.0 or later (iOS
  486. 5.1 is no longer supported).
  487. - The 'animated' field on GMSMarker is now known as 'appearAnimation', and
  488. may be set to kGMSMarkerAnimationNone (default) or kGMSMarkerAnimationPop
  489. - The Google Maps SDK for iOS now ships with an armv7s slice
  490. - New features for GMSMarker instances
  491. * Markers can be made draggable using the draggable property, and new drag
  492. delegate methods have been added to GMSMapViewDelegate
  493. * Added GMSMarkerLayer, a custom CALayer subclass for GMSMarker that
  494. supports animation of marker position and rotation
  495. * Added support for markers that appear flat against the Earth's surface
  496. * Added rotation property to rotate markers around their ground anchor
  497. * The UIImage used by GMSMarker now supports the images and duration
  498. properties, and will animate images with multiple frames
  499. * The UIImage used by GMSMarker now supports alignmentRectInsets, and will
  500. adjust groundAnchor, infoWindowAnchor, and the tappable region
  501. - Added padding on GMSMapView, allowing you to indicate parts of the map that
  502. may be obscured by other views; setting padding re-positions the standard
  503. map controls, and the camera and camera updates will use the padded region
  504. - GMSPanoramaView and GMSPanoramaService now support searching for panoramas
  505. with custom radius
  506. - Added cameraForBounds:insets: to GMSMapView, allowing construction of a
  507. GMSCameraPosition for the map from a specified GMSCoordinateBounds
  508. Resolved Issues:
  509. - My Location button now clips within GMSMapView
  510. - Reduced memory usage of GMSMapView through less agressive tile caching
  511. - Reduced the time taken to obtain GMSServices by moving some startup tasks
  512. to a background thread; obtaining this object early in your application
  513. (before creating a GMSMapView or other objects) may improve performance
  514. - Polylines may now be drawn twice, as required, if they have very large
  515. longitudinal span
  516. - Resolved a rounding error with very small polygons far from latlng (0,0)
  517. Version 1.4.3 - August 2013
  518. ===========================
  519. Resolved Issues:
  520. - Resolved several causes of modifying markers that could cause 'ghost'
  521. markers to appear
  522. - Resolved excess texture use when modifying animated markers
  523. Version 1.4.2 - August 2013
  524. ===========================
  525. Resolved Issues:
  526. - Fixed a rare case where modifying an animated marker could cause 'ghost'
  527. markers to appear
  528. - Prioritized markers over other overlays for tappability
  529. Version 1.4.1 - August 2013
  530. ===========================
  531. Features:
  532. - Tappable markers inside GMSPanoramaView using the
  533. panoramaView:didTapMarker: delegate method on GMSPanoramaViewDelegate
  534. - Added GMSPanoramaLayer, a custom CALayer subclass for GMSPanoramaView that
  535. supports animation of the panorama camera
  536. - GMSPanoramaCamera supports custom field of view (FOV)
  537. - Programmatic access to the floor picker allows you to enable or disable the
  538. selector, and set which floor should be displayed
  539. - GMSTileLayer now supports high DPI tiles, for use on a Retina device
  540. - GMSMapView.camera is now observable via KVO
  541. - Added fitBounds:withEdgeInsets: to GMSCameraUpdate
  542. - The default behavior of a GMSMapView to consume all gestures within its
  543. bounds may now be disabled via consumesGesturesInView
  544. - Expanded GMSGeometryUtils to include additional helper methods
  545. - GMSServices may be held by applications to maintain cache and connection to
  546. Google; this can improve performance when creating and destroying many maps
  547. - Improved visuals when resizing a GMSMapView via UIView animation methods
  548. Resolved Issues:
  549. - Fixed crash bug during memory warning (related to indoor)
  550. - Fixed crash bug with indoor maps on iOS 5.1
  551. - Performance improvements when using hundreds of GMSMarkers
  552. - Reduced memory footprint of GMSMapView
  553. - Touch target for GMSMarkers matches the size and shape of the marker when
  554. the GMSMapView is tilted
  555. - GMSMapView will no longer render a single frame of black in some cases
  556. (noticable e.g., inside UISplitViewController on iPad)
  557. - Street View imagery is now adjusted correctly for tilted base data
  558. (e.g., data taken by a Street View car on a slope)
  559. - Geodesic interpolation has been tweaked to be more correct
  560. - Fixed incorrect GMSGroundOverlay sizing (regression in 1.4.0)
  561. - fitBounds:withPadding: on GMSCameraUpdate now correctly applies padding to
  562. all edges of the bounds; previously it used 1/2 padding on each edge
  563. Version 1.4.0 - July 2013
  564. =========================
  565. Features:
  566. - Support for Google Street View imagery, with coverage in 50+ countries
  567. * Added GMSPanoramaView, a viewer for Street View imagery, that enables
  568. both programmatic and user control
  569. * GMSMarkers can be shared between GMSMapView and GMSPanoramaView
  570. * GMSPanoramaService may be used to load panorama data ahead of display
  571. - Indoor floor plans and a floor selector control will now be displayed when
  572. available
  573. - Updated map design inspired by the new Google Maps
  574. - Info windows now show at 1:1 resolution on the screen regardless of tilt
  575. - Additional delegate methods on GMSMapView - mapView:willMove: and
  576. mapView:idleAtCameraPosition: - allow you to detect the start and
  577. end of camera movement, respectively
  578. - An improved look and feel for polylines and polygon stroke
  579. - Added a zIndex property on all overlays; z-indexes are calculated in two
  580. groups: GMSMarkers and all other overlays
  581. - Added GMSGeometryUtils methods for heading, distance, offset etc. with
  582. respect to points on the Earth
  583. Resolved Issues:
  584. - Improved the tappability of GMSPolygon
  585. - The compass now disappears when the map returns to zero bearing for any
  586. reason, including animation
  587. - Resolved crash issue when creating a zero-sized GMSPolygon
  588. - Resolved an issue where active gestures could cause a GMSMapView to not
  589. be released until deceleration completed
  590. - Info windows no longer allow taps to pass through them
  591. - Accessibility elements on GMSMapView are now hidden by default; you can
  592. enable via accessibilityElementsHidden
  593. Notes:
  594. - To align with other Google Maps APIs, GMSGroundOverlay no longer supports
  595. the zoomLevel property. You can use the helper method
  596. groundOverlayWithPosition:icon:zoomLevel: to migrate existing code
  597. Version 1.3.1 - June 2013
  598. =========================
  599. Resolved Issues:
  600. - Shows all tiles when animating across the antimeridian
  601. - Performance improvements while zooming
  602. - Touches are consumed more agressively by GMSMapView
  603. - Fixed constructing a GMSMutablePath via pathFromEncodedPath:
  604. - Restores OpenGL state correctly in GMSMapView in applications that also use
  605. GLKView
  606. Version 1.3.0 - May 2013
  607. ========================
  608. Features:
  609. - Support for custom tile overlays (image-based) via GMSTileLayer
  610. - Anti-aliasing for GMSPolyline and GMSPolygon stroke
  611. - Support for 'invisible' base map tiles via kGMSTypeNone
  612. - Basic support for CAAnimationGroup on GMSMapLayer
  613. Resolved Issues:
  614. - Performance improvements with large numbers of overlays
  615. - Resolved excessive memory use when device was locked/unlocked while an info
  616. window was displayed
  617. - Animations are stopped when a user performs a gesture
  618. - Animations stop any active gesture (e.g., a pan)
  619. - Resolved crash issue with setting/clearing My Location dot.
  620. - GMSPolyline and GMSPolygon now support greater precision at high zoom
  621. - GMSPolyline and GMSPolygon use the correct alpha values
  622. - Touches are consumed by GMSMapView, allowing use within e.g. a scroll view
  623. Version 1.2.2 - April 2013
  624. ==========================
  625. Resolved Issues:
  626. - Tappable regions for GMSMarker fixed.
  627. - Overlays are no longer able to render on half pixels.
  628. - Ground overlays appear underneath the My Location dot.
  629. - GMSPolyline 'strokeColor' is no longer erroneously deallocated.
  630. Version 1.2.0 - April 2013
  631. ==========================
  632. Features:
  633. - Removed GMS...Options classes in favor of creating overlays directly
  634. and setting their 'map' property
  635. - Map overlays (GMSMarker, GMSPolyline, others) now inherit from a shared
  636. GMSOverlay class
  637. - GMSPolyline now has 'strokeWidth' and 'strokeColor' to match GMSPolygon,
  638. rather than 'width' and 'stroke'
  639. - More helper methods on GMSCoordinateBounds, 'including' renamed to
  640. 'includingCoordinate', added 'includingBounds'
  641. - Added GMSPolygon and GMSCircle overlays
  642. - A GMSMarker may be animated when added to a map
  643. - Overlay types may now be subclassed
  644. - GMSCameraUpdate to create camera update objects, including operations to
  645. set a camera that presents a specified GMSCoordinateBounds
  646. - GMSUISettings may be used to add a compass or My Location button (disabled
  647. by default)
  648. - Non-marker overlay types may be tapped (see GMSMapViewDelegate)
  649. - Default marker changed to the Google Maps for iPhone marker
  650. - Added markerImageWithColor: to create tinted versions of the default marker
  651. - GMSMapLayer, the CALayer subclass for GMSMapView, now supports modification
  652. of its camera properties, allowing for advanced animation effects
  653. Resolved Issues:
  654. - visibleRegion now reports correctly sized region on Retina devices
  655. - Double-tap to zoom now centers around tapped point
  656. - Disabling pan via UISettings now prevents movement with zoom gestures
  657. - GMSPolyline performance is improved for large polylines
  658. - GMSMapView may be subclassed
  659. - My Location dot appears underneath markers
  660. - Performance improvements when using the My Location dot
  661. - Grayscale polylines now render correctly
  662. - Calling renderInContext: on the GMSMapView layer now renders correctly;
  663. this allows for snapshots and UI effects
  664. - The default behavior when a marker is tapped has been updated to also pan
  665. the camera to the marker's position
  666. - semaphore_wait_trap issue resolved
  667. Version 1.1.2 - March 2013
  668. ==========================
  669. Resolved Issues:
  670. - Updated the SDK to use libc++ instead of libstdc++
  671. - Improved support for including a GMSMapView and GLKView in the same app
  672. Version 1.1.1 - March 2013
  673. ==========================
  674. Features:
  675. - Improved the messages that are logged to the console when a invalid key is
  676. used or a connection error occurs
  677. - Added multi-line snippet support for GMSMarker
  678. Resolved Issues:
  679. - GMSMapView could return a nil camera
  680. - Multiple GMSMapView instances no longer 'camera crosstalk.'
  681. - The SDK contained unresolved external references
  682. - A GMSMarker with an empty title and snippet no longer shows an empty
  683. info window.
  684. Version 1.1.0 - February 2013
  685. =============================
  686. Features:
  687. - The points of a GMSPolyline (and GMSPolylineOptions) are now specified as
  688. a GMSPath and built via a GMSMutablePath, rather than addVertex: etc
  689. - GMSPolyline may now be specified as geodesic
  690. - animateToCameraPosition: method on GMSMapView
  691. - GMSProjection provides containsCoordinate: and visibleRegion helpers
  692. Resolved Issues:
  693. - GMSCameraPosition and animateToLocation: now clamp/wrap latitude/longitude
  694. respectively; similarly, bearing is clamped to 0 <= bearing < 360
  695. - GMSGroundOverlay may be modified after creation
  696. - The points of a GMSPoyline may be modified after creation
  697. - GMSPolyline may cross the antimeridian
  698. - Resolved a marker sorting issue
  699. Version 1.0.2 - January 2013
  700. ============================
  701. Features:
  702. - GMSCamera (struct) has been dropped in favor of GMSCameraPosition * (objc
  703. class), supports finer control of bearing and viewing angle
  704. - Added GMSUISettings to control gesture availability
  705. - Added GMSGroundOverlay/GMSGroundOverlayOptions for basic ground overlay
  706. support
  707. - Removed requirement to call startRendering/stopRendering
  708. - Support for adding GMSMapView as a custom UIView in Interface Builder
  709. - Improved texture memory handling
  710. Resolved Issues:
  711. - Info windows now have highest tap priority
  712. - Selected markers are automatically brought to front
  713. - Polylines now render at constant size regardless of the zoom level
  714. Version 1.0.1 - December 2012
  715. =============================
  716. Initial release alongside Google Maps for iOS.
  717. Support for 3D maps, rotation, tilt, 3D buildings, markers, polylines,
  718. satellite and terrain tiles, traffic data, and other features.