Google Maps Android API: SupportMapFragment vs MapFragment
Asked Answered
F

2

19

I read through the google maps API documentation and under MapFragment, it advises to use the class only when targeting API 12 and above. Then I assume that SupportMapFragment targets API 11 and below, though google didn't explicit mention it in the documentation. Then what if I want to target a wide range of API lvl? Does SupportMapFragment also targets API above 11?

Ferroconcrete answered 14/3, 2013 at 8:1 Comment(2)
Yes, it does. It writes in the docs.Ealasaid
I recommend to read this (goo.gl/MLwDSx) as well, related with the question.Tremolant
I
44

Then I assume that SupportMapFragment targets API 11 and below, though google didn't explicit mention it in the documentation.

SupportMapFragment is for use with the Android Support package's backport of fragments. It can be used on Android devices running API 10 and lower, as well as Android devices running 11 and higher. MapFragment requires the native API Level 11 fragment implementation, and therefore can only be used on API Level 11 and higher devices.

Note that there are no devices running API Level 11 that I know of -- everything has been upgraded at least to API Level 12.

Impostume answered 14/3, 2013 at 11:18 Comment(5)
that is what I wanted to know. I just got confused reading the API documentation. Thanks!Ferroconcrete
My phone is still running API lvl 9. The HTC Desire HD did not get the os upgrade as Google considered the Sense on this phone so "good". I have just looked at the stats and still 24% are using 2.3 or older versions of Android.Eidetic
@erdomester: And to support those devices, you would need to use SupportMapFragment, as noted in my answer.Impostume
@CommonsWare: I know that. But then what did you mean by saying "Note that there are no devices running API Level 11 that I know of"?Eidetic
@erdomester: I did not say "API Level 11 or lower". I said "API Level 11". There are no devices running API Level 11 that I know of.Impostume
P
0

One nevertheless is forced to use SupportMapFragment in general, because it can be cast:

SupportMapFragment mapFragment = (SupportMapFragment) getChildFragmentManager().findFragmentById(R.id.map);
if (mapFragment != null) {mapFragment.getMapAsync(this);}

For some reason FragmentManager cannot return MapFragment, despite it is generally known.

Pyroligneous answered 11/3, 2021 at 19:47 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.