在一个activity中不同的fragment中加载百度地图时,百度地图重合叠加覆盖的解决方案
来源:互联网 发布:淘宝店组织架构 编辑:程序博客网 时间:2024/05/20 15:39
1.首先引用百度论坛上的一个例子,地址为:
http://bbs.lbsyun.baidu.com/forum.php?mod=viewthread&tid=88398
2.问题主要表现在
2.1 tabOneFragment中有百度地图,tab2中也有百度地图,切均为全屏显示,为了保存在fragment切换过程中,记录保存当前fragment的状态和一些控件的值,采用了 hide和show的加载方式来切换fragment,这里replace的方法来切换fragment达不到预期的效果。
2.2刚开始加载第一页的fragemnt时,地图可以正常加载显示,切换到第二个fragment中时,地图区域的部分没有显示,被第一个fragemnt的百度地图遮挡住。查阅了各个方法都不能有效的解决这个问题。
2.2.1 onHiddenChanged是fragemnt显示和隐藏时一定会调用的方法,这里用setVisibility的方法,此方法不能够解决问题
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
2.2.2 在 Mainactivity中重写onAttachment的方法也不能解决问题。
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
2.2.3 用replace的方法切换fragment可以解决地图重叠的问题,不过地图会重新加载,执行生命周期,会出现问题1:屏幕闪黑一下再将地图加载出来 问题2:不能保存之前进行过的一些地图上的操作。
3原因
这个压盖问题,是系统GLSurfaceView本身的问题,用两个GLSurfaceView实验也是这样,我这里加载两个地图容器一个是百度地图,一个是arcgis的地图……
4解决方案:
百度地图新增了TextureMapView可以解决,这是android4.0以上给的解决方案,最好的话开启硬件加速的权限,否则用户切换过快的话,可能会出现一些问题。
引用
- 1
- 2
- 3
- 4
- 5
- 6
- 1
- 2
- 3
- 4
- 5
- 6
5更好的解决方案暂时还没有
6.同样TexturMapView的使用情况还有如下,也能解决一些其他问题:
http://www.jianshu.com/p/c591827196da
TextureMapView也解决了MapView基于系统GLSurfaceView导致tabhost切换或滚动闪屏、白边等问题。
参考自:
http://blog.csdn.net/xzytl60937234/article/details/52886048
- 在一个activity中不同的fragment中加载百度地图时,百度地图重合叠加覆盖的解决方案
- 在一个activity中不同的fragment中加载百度地图时,百度地图重合叠加覆盖的解决方案
- 在Fragment中使用百度地图
- 在Fragment中集成百度地图
- 在百度地图中自由的划线
- 在qt中加载百度地图
- ionic加载百度地图失败的解决方案
- 百度地图中多边形覆盖物的面积计算
- android.fragment中百度地图出现闪屏的问题
- fragment中使用百度地图的两个坑
- Android 百度地图marker中图片不显示的解决方案
- 去百度API的百度地图准确叠加和坐标转换的解决方案研究
- BaiduMap---百度地图官方Demo之多地图展示(在一个Activity中创建多个地图展示)
- 百度地图在Activity中以最简单的配置获取定位坐标字符串和经纬度
- 在Fragment中使用百度地图,定位到当前位置
- slidingMenu 百度地图在Fragment中切换黑边解决方法
- slidingMenu 百度地图在Fragment中切换黑边解决方法
- 百度地图开发之在简单的HelloBaiduMap程序中,SDKInitializer.initialize(getApplicationContext())报错解决方案
- HTML5的history 的API实例
- myeclipse中编辑时的各种快捷键
- android上如何写配置文件
- 获取Msi文件的属性内容
- 利用kaptcha实现验证码(SpringMVC实现)
- 在一个activity中不同的fragment中加载百度地图时,百度地图重合叠加覆盖的解决方案
- MySQL5.7 数据字典表损坏
- linux系统(centos7)安装node
- Linux混杂设备驱动
- 搭建自己的git服务器 gitlib
- spring cloud搭建微服务second-fiberhome(二):结合consul实现服务注册与服务发现
- JSP 自定义标签
- 获取当前的spring容器ApplicationContext 。
- Struts2框架自学之路——值栈