Google Maps API v2多个地图片段问题
我已经尝试了新的谷歌地图api v2的几个问题
我有一个包装mapFragment的片段,这是在应用程序的乞讨时创建的。
在用户单击按钮时创建的另一个片段,此内容为另一个mapFragment。
但是这张地图显示了第一个片段上显示的第一张地图。 它也冻结了,不能对它采取行动……
我已经读过一些用户在显示多地图时遇到问题。 知道怎么解决这个问题?
这是我创建地图的方式:
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();
没有人回答,所以我终于自己成功了。
所以我将与其他人分享同样的问题。 如果你有几个片段并且你尝试将两个或多个地图(谷歌地图)接缝实例化以获取之前保存的相同实例,即使您使用了SupportMapFragment.newInstance(),也会发现存在错误。
无论如何,你应该做的是在打开一个新地图之前总是关闭地图,所以如果要显示第二个地图,首先要删除前一个地图的片段。 然后实例化一个新的并添加到对应的布局。
这不是一个非常好的解决方案,因为它意味着每次打开和关闭地图,但这是我能找到的最好的。
- 从PauseHandler实现调用SupportFragmentManager
- Android – 将值从ListFragment传递到另一个ListFragment
- Android-遗留无头片段
- android.view.InflateException:二进制XML文件行#10:错误膨胀类片段
- 如何在recyclerView android中停止项目重复
- 在VIewPager(Android)中的两个片段之间传递数据(NullPointerException)
- 如何在android中将黑色透明放在图像上
- 片段不会出现在扩展ActionBarActivity的活动中
- 尝试从DatePicker DialogFragment设置EditText的文本