19

我通读了谷歌地图 API 文档并在 MapFragment 下,它建议仅在针对 API 12 及更高版本时使用该类。然后我假设 SupportMapFragment 的目标是 API 11 及以下,尽管谷歌没有在文档中明确提到它。那么,如果我想针对广泛的 API 等级怎么办?SupportMapFragment 是否也针对 11 以上的 API?

4

2 回答 2

44

然后我假设 SupportMapFragment 的目标是 API 11 及以下,尽管谷歌没有在文档中明确提到它。

SupportMapFragment用于 Android 支持包的片段的反向移植。它可用于运行 API 10 及更低版本的 Android 设备,以及运行 11 及更高版本的 Android 设备。MapFragment需要原生 API Level 11 片段实现,因此只能在 API Level 11 和更高级别的设备上使用。

请注意,据我所知,没有运行 API 级别 11 的设备——所有设备都至少升级到 API 级别 12。

于 2013-03-14T11:18:19.653 回答
0

尽管如此,它还是被强制使用SupportMapFragment,因为它可以被强制转换:

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

由于某种原因FragmentManager不能返回MapFragment,尽管它是众所周知的。

于 2021-03-11T19:47:23.310 回答