gpt4 book ai didi

java - Google Maps API v2 多 map fragment 问题

转载 作者:行者123 更新时间:2023-11-29 05:44:15 26 4
gpt4 key购买 nike

我用新的 google map api v2 尝试了一些问题

我有一个包装 mapFragment 的 fragment ,这是在应用开始时创建的。

在用户单击按钮时创建的另一个 fragment 中,此内容是另一个 mapFragment。

但是这张 map 显示的是第一个 fragment 上显示的第一张 map 。它也被卡住并且无法对其进行操作...

我了解到有些用户在显示多图时遇到问题。知道如何解决这个问题吗?

这就是我创建 map 的方式:

mMapFragment = (SupportMapFragment) this.getActivity().getSupportFragmentManager()
.findFragmentByTag(MAP_FRAGMENT_TAG);

// We only create a fragment if it doesn't already exist.
if (mMapFragment == null) {
// To programmatically add the map, we first create a
// SupportMapFragment.
mMapFragment = SupportMapFragment.newInstance();
mMapFragment.setRetainInstance(false);
// Then we add it using a FragmentTransaction.
FragmentTransaction fragmentTransaction = this.getActivity().getSupportFragmentManager()
.beginTransaction();
fragmentTransaction.add(R.id.ly_map, mMapFragment,MAP_FRAGMENT_TAG);
fragmentTransaction.commit();
} else {
dbug.log("Restoring map");
mMapFragment.setRetainInstance(false);
mMap = mMapFragment.getMap();
}

// We can't be guaranteed that the map is available because Google Play
// services might
// not be available.
setUpMapIfNeeded();

最佳答案

没有人回答,所以我终于靠自己成功了。

所以我会分享给其他有同样问题的人。它似乎存在一个错误,如果您有多个 fragment 并且您尝试实例化两个或多个 map (谷歌地图)接缝以采用先前保存的相同实例,即使您使用 SupportMapFragment.newInstance()

无论如何,你应该做的是在打开新 map 之前关闭 map ,所以如果你想显示第二张 map ,首先要删除前一张 map 的 fragment 。然后实例化一个新的on并添加到对应的layout中。

这不是一个很好的解决方案,因为它意味着每次都打开和关闭 map ,但这是我能找到的最好的解决方案。

关于java - Google Maps API v2 多 map fragment 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16386865/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com