You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

627 lines
28 KiB

Version 2.0.1 - July 2016
=========================
Resolved Issues:
- Array properties are now correctly typed when accessed from Swift.
Version 2.0.0 - July 2016
=========================
Improvements:
! This release splits the Places API from the Maps SDK. Previously, if you
wanted to use the Places API you had to include all of GoogleMaps. As a
result of the split, the final size of the Places API binary is 70% smaller
than the previous combined binary. If you are using only the Maps SDK you
will not be affected unless you have pinned your dependency on GoogleMaps
to a version earlier than 2.0. In this case, you should update this
restriction in your Podfile. If you are using the Places API, see the
migration guide online for more details.
Resolved Issues:
- The GoogleMaps binary has been reduced to less than 100MB to avoid
exceeding GitHub's file size limit.
- GMSGroundOverlays now correctly respond to touch input when rotated.
- Marker info windows now render consistently.
- Info windows created using the return value of mapView:markerInfoContents:
will now correctly respect the height of the returned content rather than
always being square based on the width.
- Fixed an issue where texture cache limit is exceeded on devices supporting
@3x sized images.
Version 1.13.2 - May 2016
=========================
Resolved Issues:
- Added a workaround to avoid the false positive for the non-public API
imageWithName: selector.
Version 1.13.1 - May 2016
=========================
Resolved Issues:
- Fixed an application hang when using a UIView with autolayout enabled as an info
window or as a marker iconView.
- Changed lookUpPlaceID to not call its callback twice in error scenarios.
Version 1.13.0 - March 2016
===========================
Features:
- UIView based markers. Marker content can now show advanced animations by
providing a custom view hierarchy to be displayed through the iconView property.
- Info windows can now have their custom views animated. Set tracksInfoWindowChanges
on the associated marker to YES to enable real-time updates.
- Map rendering now defaults to 60fps on modern iOS devices. Set the new
preferredFrameRate property on GMSMapView to revert to the old behavior
(Conservative) or a new low frame rate option to save battery (PowerSave).
- Added mapViewSnapshotReady: to GMSMapViewDelegate which fires when map content,
including markers and other overlays, has been fully rendered.
- Autocomplete widgets in the Places API now provide options for custom styling.
Resolved Issues:
- GMSCoordinateBounds initWithVisibleRegion: now chooses correct bounds for large
viewports.
- Added a workaround to avoid a graphical glitch in snapshots taken using pre iOS 7
methods when the My Location button is disabled.
- GMSAutocompleteViewController now works when used in a storyboard.
- Added missing Place Type constants.
Version 1.12.3 - February 2016
==============================
Resolved Issues:
- Fixed corruption in included bitcode that caused Xcode archive action to fail.
- Workaround limitation in Xcode 6.4 which was failing to compile included headers.
Version 1.12.2 - February 2016
==============================
Features:
- Added place photos to the Places API.
- Added structured address components to GMSPlace objects.
- SDK method signatures have been updated with generics and nullability annotations.
Resolved Issues:
- GMSPlace objects now contain rating and price level where available.
- Minor bugfixes for the autocomplete widget UI.
- panoramaView:didMoveCamera: is no longer raised during the panoramaView delegate
setter.
- Old unused logo files have been removed from the SDK.
- Tap events on polygons near the anti-meridian are more reliable.
- Resolved an issue resulting in unrecognized selector crashes when calling
class methods on categories.
Version 1.12.1 - February 2016
==============================
This version is exactly the same as 1.11.1. It was released to replace the
removed 1.12.0 release.
Version 1.12.0 - February 2016
==============================
This version was removed because of errors in the framework and should not be
used.
Version 1.11.1 - December 2015
==============================
Resolved Issues:
- Modally presented Place Autocomplete widgets now correctly respect
UINavigationBar appearance proxy settings.
- Resolved minor UI issues with the Place Autocomplete widgets.
- Updated GoogleMaps.bundle info.plist to avoid triggering checks in
pre-submission verification.
Version 1.11.0 - December 2015
==============================
Features:
- Bitcode is now included in the SDK binary for all device architectures.
- Added Place Autocomplete widget classes.
- New events for long press on an info window, and closing an info window, have
been added to GMSMapViewDelegate.
- GMSMapViewDelegate has new events to indicate when map tiles and labels are
pending and finished rendering.
- GMSPanoramaViewDelegate has new events to indicate when panorama tiles are
pending and finished rendering.
- GMSGroundOverlay now supports an alpha multiplier via the opacity property.
- Added a holes property to GMSPolygon to allow for the subtraction away from
the filled area in order to create more complex shapes.
- At zoom levels greater than 14, the maximum tilt has been increased.
- Added an autocomplete screen to the Place Picker.
- Split autocomplete predictions into primary and secondary text fields.
- Added a country filter option to GMSAutocompleteFilter.
- Added a viewport field to GMSPlace.
Resolved Issues:
- Correct handling of taps on overlapping markers.
- Address a race condition dependent crash which can happen when an application
enters and leaves the background while showing a map.
- Fix blank maps which can happen when launching an app into the background.
- Workaround issues with core animation that caused markers to jump.
- Updated to avoid subtle conflicts with applications which use
google-toolbox-for-mac.
- Use the iPhone language instead of the region formatting language for
Places API results.
Notes:
- Setting GMSMapView selectedMarker to a marker not on the map is now ignored,
always set the marker's map property before attempting to select it.
Version 1.10.5 - October 2015
=============================
Resolved Issues:
- Workaround an issue in the Swift compiler's handling of umbrella header
module entries.
Version 1.10.4 - October 2015
=============================
Resolved Issues:
- Fixed a crash on iOS 9 when dismissing the place picker without a selection.
- Fixed a crash when using both a GMSMapView and a UIWebView or WKWebView in the view
hierarchy at the same time.
- Recompiled with Xcode 7 to avoid raising failed to load optimized model log messages
on iOS 9 devices.
Version 1.10.3 - September 2015
===============================
Features:
- Google logos have been updated.
Resolved Issues:
- Framework now ships with the device version of bundles to pass Xcode 7 archive checks.
Version 1.10.2 - August 2015
============================
Resolved Issues:
- Fixed a crash releasing a map view while in background.
- Resolved a conflict with apps using gtm-session-fetcher resumable downloads.
- Recompiled with Xcode 6.4 to avoid some bugs in Xcode 6.3 compiler.
- Updated GoogleMaps.bundle info.plist to avoid triggering new checks in
pre-submission verification.
Version 1.10.1 - June 2015
==========================
Resolved Issues:
- Fixed an issue where instantiating GMSPlacesClient triggered a request to enable Bluetooth.
- Miscellaneous improvements to the GMSPlacePicker UI.
Version 1.10.0 - May 2015
=========================
Major Feature:
- Places API is now bundled with the Google Maps SDK for iOS.
Features:
- New allowScrollGesturesDuringRotateOrZoom property on GMSUISettings controls whether
the user can scroll by panning during multi-touch rotate or zoom gestures.
- GMSPanoramaView now supports being used via storyboard.
- GMSGeocoder now supports being used while the application is in the background.
- GMSServices sharedServices can now be called while application is in the background. Note
that if the first call to sharedServices is while application is in the background some
async initialization work will be deferred until the first time a map is shown where it will
be performed synchronously.
- GMSMapView/GMSPanoramaView init messages can now be handled while the application is in
background. This should remove the last case where GMSMapView/GMSPanoramaView could not
be used in the background.
- GMSMapView/GMSPanormaView delegate properties now support IBOutlet for easier use via
storyboard.
Resolved Issues:
- mapView:didTapMyLocationButtonForMapView: is now correctly called even if no location is
available.
- GMSGroundOverlay now shows correctly when rotated if image aspect ratio doesn't match the
selected ground region.
- Fixed an issue resizing the map on iOS 8.
- Fixed a rare crash under fast camera changes.
- Map no longer hangs when adding a ground overlay with certain invalid bounds.
- Fixed a crash when texture memory is exhausted by markers.
- Correctly return the tapped GMSCircle to mapView:didTapOverlay: for tappable circles.
- mapView:idleAtCameraPosition: will now be called even if there is an ongoing update of the
my location dot.
Notes:
- Due to an ABI change in the Xcode compiler, Xcode 6.3 is now the only supported version for
compiling against Google Maps SDK for iOS.
- The minimum target iOS version for Google Maps SDK for iOS is now 7.0. Version 6.0 is no
longer supported.
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.