帖子
帖子
用户
博客
课程
12345下一页
返回列表 发新帖
显示全部楼层
23
帖子
0
勋章
2267
Y币

[插件使用] 高德地图amap插件黑屏问题

[复制链接]
发表于 2023-12-1 14:58:11
重复关闭打开引用了amap地图组件的页面多次后,地图出现黑屏,后面再打开地图也是黑屏,在关闭页面前使用了map.close();
      map = null; 也不管用。


一秒招聘
23
帖子
0
勋章
2267
Y币
最佳答案
您好,目前考虑设备的性能问题,地图对象最多只能创建9个,超过9个地图就会黑屏,您检测一下在退出页面的时候是否做了地图的销毁,如果没有您在生命周期里面加上地图的销毁就正常了。给您带来的不便请您谅解。 如没有解决您的问题,可以继续咨询。这边帮助您解决问题。如您的问题得到解决辛苦请您点击一下关闭工单,并对本次服务做出评价,您的满意是我们永远追求的目标。欢迎您持续关注高德开放平台。祝您生活愉快!
23
帖子
0
勋章
2267
Y币
试了多台设备,普遍是第10次打开地图页面时 地图加载黑屏,reboot也不管用,必须杀死app,在打开,才能重置
380
帖子
4
勋章
6
Y币
模块是最高版本吗? Android 还是 iOS问题?

open 代码怎么写的?
23
帖子
0
勋章
2267
Y币
技术咨询-F · 2023-12-1 15:56模块是最高版本吗? Android 还是 iOS问题?

open 代码怎么写的?

var map = null;
    apiready = function() {
  
      map = api.require('aMap');
      map.updateMapViewPrivacy({
        privacyAgree: 'didAgree',
        privacyShow: 'didShow',
        containStatus: 'didContain'
      });
      map.close();
      setTimeout(()=>{
      
        map.open({
            rect: {
                x: 0,
                y: 0,
            },
            center: {
                lon: 119.494205,
                lat: 35.433627
            },
            zoomLevel: 10,
            showUserLocation: false,
            fixedOn: api.frameName,
        }, function (ret) {
          console.log("打开了地图");
          console.log(JSON.stringify(ret));
        })
        api.addEventListener({
          name:'viewdisappear'
        }, function(ret){
          console.log("离开了地图");
        })
      },2000)
      
    }

    function clear_map(){
      map.close();
      map = null;
      api.clearCache();
      console.log("清空了地图");
    }
23
帖子
0
勋章
2267
Y币
技术咨询-F · 2023-12-1 15:56模块是最高版本吗? Android 还是 iOS问题?

open 代码怎么写的?

安卓的  插件是最高版本
23
帖子
0
勋章
2267
Y币
我是在首页中调用打开地图页面。然后测试打开 关闭。前几次都是好的。然后出现地图黑屏之后一直就打不开了。只有杀死再进来app才行。几次打开后黑屏的必然事件。

function test(){
                api.addEventListener({
                        name:'keyback'
                }, function(ret){

                        api.execScript({
                                frameName:'map_test',
                                script:'clear_map()'
                        })

                        setTimeout(()=>{
                                api.closeFrame({
                                        name:'map_test'
                                });
                                setTimeout(()=>{
                                        open();
                                },2000)
                        },2000)

                       
                })

                open()
               
        }

        function open(){
                count++;
                console.log("第"+count+"次打开地图页面");
                api.openFrame({
                        name: 'map_test',
                        url: 'widget://html/public/map_test.html',
                        rect: {
                                x: 0,
                                y: 0,
                                w: 'auto',
                                h: 'auto',
                        },
                        reload: true,
                });
        }
380
帖子
4
勋章
6
Y币
不要这样测试,页面上写一个open 按钮,点击时打开页面。  因为frame 短时间连续打开关闭,可能会出现打不开。

另外function 不要命名 open , 因为有window.open
23
帖子
0
勋章
2267
Y币
技术咨询-F · 2023-12-1 16:15不要这样测试,页面上写一个open 按钮,点击时打开页面。  因为frame 短时间连续打开关闭,可能会出现打不开。

另外function 不要命名 open , 因为有window.open ...

和这个没关系,无论打开页面和关闭页面操作之后停留的时间有多久,在重复到差不多第10次的时候必然会黑。还是map.close这个方法没有彻底关闭地图,或者内存,或者渲染,对后面造成了影响。
23
帖子
0
勋章
2267
Y币
技术咨询-F · 2023-12-1 16:15不要这样测试,页面上写一个open 按钮,点击时打开页面。  因为frame 短时间连续打开关闭,可能会出现打不开。

另外function 不要命名 open , 因为有window.open ...

最最关键的是地图黑过一次之后,往后都是黑的了。这个和打开速度也没有关系。总结起来就是,有地图插件引用的页面不能打开超过一个最大次数,一旦超过就会黑屏而且是一直黑屏。
380
帖子
4
勋章
6
Y币
一秒招聘 · 2023-12-1 16:39最最关键的是地图黑过一次之后,往后都是黑的了。这个和打开速度也没有关系。总结起来就是,有地图插件引用的页面不能打开超过一个最大次数,一旦超过就会黑屏而且是一直黑屏。 ...

我们确认一下
12345下一页
您需要登录后才可以回帖 登录

本版积分规则