A Map component in an app. This fragment is the simplest way to place a map in an application. It's a wrapper around a view of a map to automatically handle the necessary life cycle needs. Being a fragment, this component can be added to an activity's layout file simply with the XML below.
<fragment class="com.google.android.gms.maps.SupportMapFragment" android:layout_width="match_parent" android:layout_height="match_parent"/>
GoogleMapcan only be acquired using
getMap()when the underlying maps system is loaded and the underlying view in the fragment exists. This class automatically initializes the maps system and the view; however you cannot be guaranteed when it will be ready because this depends on the availability of the Google Play services APK. If a
GoogleMapis not available,
A view can be removed when the SupportMapFragment's
onDestroyView() method is called and the
useViewLifecycleInFragment(boolean) option is set. When this happens
the SupportMapFragment is no longer valid until the view is recreated again later when SupportMapFragment's
onCreateView(LayoutInflater, ViewGroup, Bundle) method is called.
Any objects obtained from the
GoogleMap is associated with the view. It's important to
not hold on to objects (e.g.
Marker) beyond the view's life. Otherwise it will cause a
memory leak as the view cannot be released.
To use this class, you must include the Android support library in your build path.
For more information, read the Google Maps Android API v2 developer guide.
Public Constructor Summary
Public Method Summary
onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
onInflate(Activity activity, AttributeSet attrs, Bundle savedInstanceState)
public SupportMapFragment ()
Creates a map fragment. This constructor is public only for use by an inflater. Use
newInstance() to create a SupportMapFragment programmatically.
public final GoogleMap getMap ()
Gets the underlying GoogleMap that is tied to the view wrapped by this fragment.
- the GoogleMap. Null if the view of the fragment is not yet ready. This can happen if
the fragment lifecyle have not gone through
onCreateView(LayoutInflater, ViewGroup, Bundle)yet. This can also happen if Google Play services is not available. If Google Play services becomes available afterwards and the fragment have gone through
onCreateView(LayoutInflater, ViewGroup, Bundle), calling this method again will initialize and return the GoogleMap.
public static SupportMapFragment newInstance ()
Creates a map fragment, using default options.
public static SupportMapFragment newInstance (GoogleMapOptions options)
Creates a map fragment with the given options.
public void onActivityCreated (Bundle savedInstanceState)
public void onAttach (Activity activity)
public void onCreate (Bundle savedInstanceState)
public View onCreateView (LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
public void onDestroy ()
public void onDestroyView ()
public void onInflate (Activity activity, AttributeSet attrs, Bundle savedInstanceState)
Parse attributes during inflation from a view hierarchy into the arguments we handle.