Click here to see your recently viewed pages and most viewed pages.
Hide
Google Maps Android API

Google Maps Android API v2 Release Notes

This page will be updated with each new release of the Google Maps Android API v2. The changelog will list releases by date and will include any new features, bug fixes or significant performance improvements.

Consult the Getting Started documentation for information on how to download the most recent version of the Google Maps Android API v2.

April 28, 2015

Features

  • A new interface, StreetViewPanorama.OnStreetViewPanoramaLongClickListener, supports long-clicking (tapping and holding down the finger) on a Street View panorama.
  • When using the MapView class in lite mode, forwarding lifecycle events is now optional, with some exceptions as noted in the documentation.
  • To disable click events on a map in lite mode, you can call setClickable() on the view that contains the MapView or MapFragment. This is useful, for example, when displaying a map or maps in a list view, where you want the click event to invoke an action unrelated to the map. For details, see the documentation.

Resolved Issues

  • showInfoWindow() now works in lite mode as well as full mode.
  • TileOverlay.clearTileCache() works as expected after returning NO_TILE. (Issue 4755)
  • The API is more selective in its logging behavior in lite mode, when reporting the functions that are not supported in lite mode. It no longer logs the default calls that are made at app startup.
  • CameraUpdateFactory is now properly initialized, so you should no longer see a NullPointerException 'CameraUpdateFactory is not initialized' after MapView.getMap() returns a valid GoogleMap. (Issue 6499)
  • App launch performance is improved, and the main thread is no longer blocked on app launch. (Issue 7532)
  • StreetViewPanoramaView no longer requests focus in onCreate(), thus no longer causing the view to scroll to make Street View visible. (Issue 7566)
  • Fixed a resource leak that showed itself in strict mode. (Issue 5992)
  • Fixed a NullPointerException that occurred with setPadding() in accessibility mode. (Issue 7619)
  • Fixed a bug crashing apps when loading an icon from an asset. (Issue 7696)

December 8, 2014

Features

  • The API offers a new lite mode. When lite mode is enabled, the API serves a bitmap image instead of a fully-interactive map. Lite mode supports all of the map types and a subset of the functionality supplied by the full API. Markers and shapes are drawn on top of the static image client-side, so you still have full control over them. A lite-mode map is useful when you want to display a number of small maps, or a map that is too small to offer meaningful interactivity.
  • A new map toolbar is available in both lite mode and full mode, and is enabled by default in both modes for apps that are recompiled against the new client library. Tapping on the toolbar opens the Google Maps mobile app, giving users quick access to directions and turn-by-turn navigation to the selected marker. In lite mode the toolbar is static, whereas in full mode it slides in when the user taps a marker. You can disable the toolbar in both modes, by calling UiSettings.setMapToolbarEnabled(false).
  • The API supports a new onMapReady() callback which you can set by calling MapView.getMapAsync() or MapFragment.getMapAsync(). The onMapReady() method is called when the map is ready to be used, and provides a non-null instance of GoogleMap. This means that you no longer need to check for a non-null map before using the map. See the guide to adding a map.
  • Similarly, you can now use StreetViewPanoramaView.getStreetViewPanoramaAsync() or StreetViewPanoramaFragment.getStreetViewPanoramaAsync() to get a ready-to-use Street View panorama. See the documentation.

Resolved Issues

  • GoogleMap.CancelableCallback() now behaves correctly when animating/moving the camera. (Issue 5208)
  • The visible region's LatLngBounds are now calculated correctly in landscape mode. (Issue 5285)
  • A marker performance regression is fixed. (Issue 7174)
  • The problem with arrowhead shapes in triangulating convex quadrilaterals is fixed. (Issue 6197 - the initial problem reported is now fixed)

Notes

  • getMap() is deprecated in favour of the new getMapAsync(), described above. Similarly, getStreetViewPanorama() is deprecated in favor of the new getStreetViewPanoramaAsync().
  • For apps that are recompiled against the new client library, the map's zoom controls are disabled by default. Up to this release, they have been enabled by default. You can still enable and disable them by calling UiSettings.setZoomControlsEnabled().

October 16, 2014

May 2014

Features

  • Added Street View for embedding and controlling panoramic 360-degree views.
  • Added functionality to indoor maps so that you can respond to indoor and level change events, and replace the level picker with your own. (Issue 5939)
  • Improved accessibility features across various embedded controls.

January 2014

Features

  • Added a fadeIn flag to TileOverlayOptions to toggle the fade-in of tiles.

Resolved Issues

  • Failed API key authentication attempts are no longer cached. (Issue 6099)

October 2013

Features

  • Added a setImage method to the GroundOverlay class that allows you to change the image of a ground overlay. (Issue 4847)
  • Added an alpha option and setAlpha method to Markers. (Issue 4768)
  • Added a setOnMapLoadedCallback method to the GoogleMap class. onMapLoaded is called when the map has completely finished rendering. (Issue 5779)
  • Added a setBuildingsEnabled method to the GoogleMap class. Buildings are still enabled by default. (Issue 5550)
  • The Google logo has been updated.

Resolved Issues

  • CameraPosition returned in a OnCameraChangeListener now respects map padding. (Issue 5844)
  • GroundOverlay.setPositionFromBounds now redraws the ground overlay.

September 2013

Features

  • Added a setPadding method to the GoogleMap class that allows you to indicate parts of the map that may be obscured by other views. Setting padding re-positions the standard map controls, and camera updates will use the padded region. (Issue 4670, Issue 5321)
  • Added the LatLngBounds.getCenter method. (Issue 4664)
  • Added methods to Marker:

Resolved issues

  • GooglePlayServicesUtil.getErrorDialog always returns a dialog, except when Google Play services is available. (Issue 4720)

August 2013

Resolved issues

August 2013

Features

  • Added a snapshot() method to the GoogleMap class that returns a bitmap of the current map. Snapshots can be used elsewhere on the device, or in your app, to show a map when a MapFragment or MapView would not be feasible; they shouldn't be transmitted off the device. (Issue 4898)
  • Added a click event listener to the My Location button. (Issue 4789)

Resolved issues

  • Fixed info window sprites for xxhdpi devices. (Issue 5439)
  • Clickable regions on custom markers more closely match the size of the custom image. (Issue 5368)
  • Added implementations for canScrollHorizontally and canScrollVertically. This improves behavior for maps appearing inside of scrollable containers, such as ViewPager.

July 2013

Features

  • The MAPS_RECEIVE permission is no longer required. You can remove this permission from your manifest.
  • Updated map design inspired by the new Google Maps.
  • You can now save Maps API Parcelable classes (e.g. LatLng, GoogleMapOptions) in the state Bundle of a MapFragment. (Issue 4713)

Resolved issues

  • Fixed an issue that would cause a NullPointerException. (Issue 5395)

May 2013

Features

  • Added the Marker.setIcon method. (Issue 5075)
  • Added the Marker.setAnchor method.
  • Android emulator support. (Issue 4627)
  • My Location layer is backed by the fused location provider in the Android Location API. Location accuracy should be greatly improved. (Issue 4660, Issue 4682)

Resolved issues

  • A number of memory leaks were fixed. (Issue 4766, Issue 4703)
  • OpenGL ES 2.0 feature requirement is no longer required to be included in AndroidManifest. Note: OpenGL ES 2.0 is still required for Maps to function. (Issue 4699)
  • MapView(Context) constructor no longer throws a NullPointerException. (Issue 4903)
  • LayoutParams no longer need to be set on a RelativeLayout returned by an InfoWindowAdapter. (Issue 4748)
  • OnMapClickListener is now called when a user clicks on a map icon (e.g. transit station). (Issue 5062)
  • The Google Maps application is no longer required to be installed. (Issue 4914)
  • Pre-multiplied alphas in ground overlays are now blended correctly. (Issue 4924)
  • Documentation added for zOrderOnTop. (Issue 4812)

Note: OnMyLocationChangedListener and GoogleMap.getMyLocation() are deprecated in favor of the new Android Location APIs.

March 2013

Resolved Issues

February 2013

Features

  • Added OnMyLocationChangeListener, which is called when a change in location is detected. (Issue 4644)
  • Added the BitmapDescriptor.fromPath method. (Issue 4637)
  • Added support for Circle overlays. (Issue 4819)
  • Added support for the hybrid map type when using XML attributes.

Resolved issues

  • Improvements to memory management, minimizing memory leaks. (Issue 4766)
  • OpenGL ES 2.0 feature requirement is no longer required to be included in AndroidManifest. Note: OpenGL ES 2.0 is still required for Maps to function. (Issue 4699)
  • Fixed blurry markers due to non-rounded pixel alignment. (Issue 4667)
  • Greatly improved performance of adding many markers. (Issue 4669)
  • Fixed an occasional 1px gap in a info windows. (Issue 4666)
  • Calling MarkerOptions.visible(false) will now make the marker invisible. (Issue 4677)
  • Invisible markers are no longer clickable. (Issue 4668)
  • Copyrights are no longer visible when mapType is set to MAP_TYPE_NONE. (Issue 4834)
  • Fixed incorrect sizing of GroundOverlays. (Issue 4723)
  • Improved recovery from gaining network connectivity. This fix requires the ACCESS_NETWORK_STATE permission. (Issue 4817)
  • Fixed disappearing info window while the map is moving. (Issue 4657)
  • Info window is now selectable after being double tapped. (Issue 4641)
  • The double tap and drag gesture is disabled when zoom gestures are disabled. (Issue 4694)
  • Several improvements to product documentation. (Issue 4675, Issue 4676, Issue 4653)
  • Polygon vertices may now be ordered in clockwise or counterclockwise order.
  • CancelableCallback now calls onCancel() instead of onFinish() when interrupted by a user interaction.
  • Text labels are now sized correctly on tablets.
  • TileFetcher no longer continues to fetch after a TileOverlay is removed from the map.

December 2012

  • Initial release. Included as part of Google Play Services SDK.