tuqin
3 天以前 544ff3b562f2bfe04a1f05122ebb4b62181b0e51
public/bmap-test.html
@@ -469,7 +469,7 @@
          lg('load 触发,window.BMap = ' + typeof window.BMap, window.BMap ? 'ok' : 'bad');
          if (!window.BMap) { return; }
          try {
            var map = new window.BMap.Map('map5');
            var map = new window.BMap.Map('map5', { enableHighResolution: false });
            map.centerAndZoom(new window.BMap.Point(87.616848, 43.825592), 14);
            map.enableScrollWheelZoom(true);
            lg('2D 地图创建成功', 'ok');
@@ -502,32 +502,44 @@
        s.src = '/bmap-sdk2d.js';
        s.addEventListener('load', function () {
          if (!window.BMap) { lg('BMap 未就绪', 'bad'); return; }
          var map = new window.BMap.Map('map6');
          var map = new window.BMap.Map('map6', { enableHighResolution: false });
          map.centerAndZoom(new window.BMap.Point(116.404, 39.915), 13); // 北京,确保有瓦片
          map.enableScrollWheelZoom(true);
          lg('地图已创建(北京 z=13)', 'ok');
          lg('地图已创建(北京 z=13)');
          lg('高清模式(devicePixelRatio=' + window.devicePixelRatio + '):已显式关闭 enableHighResolution=false');
          lg('  → 关闭后应走 qt=tile 普通瓦片(高清模式会走 qt=vtile 矢量瓦片,当前 ak 无权限)');
          setTimeout(function () {
            var d = document.getElementById('map6');
          // 每秒实时报告,不用干等固定时长
        var tick = 0;
        var timer = setInterval(function () {
          tick++;
          var d = document.getElementById('map6');
          if (!d) { return; }
          var imgs = d.querySelectorAll('img').length;
          var cv = d.querySelectorAll('canvas').length;
          lg(`[${tick}s] innerHTML=${d.innerHTML.length}  img=${imgs}  canvas=${cv}`, imgs > 0 ? 'ok' : (tick >= 8 ? 'bad' : ''));
          if (imgs > 0 || cv > 0) {
            clearInterval(timer);
            lg('');
            lg('=== 容器 DOM 结构 ===');
            lg('innerHTML 长度: ' + d.innerHTML.length);
            lg('子元素数: ' + d.children.length);
            lg('img 数: ' + d.querySelectorAll('img').length);
            lg('canvas 数: ' + d.querySelectorAll('canvas').length);
            lg('innerHTML 前 600 字符:');
            lg(d.innerHTML.slice(0, 600));
            lg('');
            lg('=== 真实网络请求(含瓦片)===');
            var rs = performance.getEntriesByType('resource');
            var tile = rs.filter(function (r) { return /bmap-tile|bdimg|maponline|bmap-api/.test(r.name); });
            lg('相关请求总数: ' + tile.length + '(页面总请求 ' + rs.length + ')');
            tile.slice(0, 25).forEach(function (r) {
            lg('✅ 瓦片已渲染出来了!地图应该可见', 'ok');
            lg('=== 瓦片请求明细 ===');
            performance.getEntriesByType('resource').filter(function (r) { return /bmap-tile/.test(r.name); }).slice(0, 6).forEach(function (r) {
              var sz = r.transferSize || r.encodedBodySize || 0;
              var st = r.responseStatus || (sz > 0 ? 200 : '?');
              lg('  [' + st + '] ' + (Math.round(r.duration)) + 'ms ' + sz + 'B  ' + r.name.slice(0, 120), sz > 0 ? '' : 'bad');
              lg('  [' + (r.responseStatus || '?') + '] ' + sz + 'B  ' + r.name.slice(0, 140), sz > 0 ? 'ok' : 'bad');
            });
            if (tile.length === 0) {
          }
          if (tick >= 15) {
            clearInterval(timer);
            lg('');
            lg('=== 15 秒仍未渲染,瓦片请求明细 ===', 'bad');
            var rs = performance.getEntriesByType('resource').filter(function (r) { return /bmap-tile|bmap-api/.test(r.name); });
            lg('  相关请求 ' + rs.length + ' 条');
            rs.slice(0, 12).forEach(function (r) {
              var sz = r.transferSize || r.encodedBodySize || 0;
              lg('  [' + (r.responseStatus || '?') + '] ' + sz + 'B  ' + r.name.slice(0, 140), sz > 0 ? '' : 'bad');
            });
          }
        }, 1000);            if (tile.length === 0) {
              lg('  ⚠ 没有任何瓦片请求发出 → SDK 内部瓦片 URL 可能仍指向被 IPv6 拦截的原始域名', 'bad');
            }
          }, 15000);