Aframe A-Frame的Mapbox组件显示桌面与移动设备的不同比例

Aframe A-Frame的Mapbox组件显示桌面与移动设备的不同比例,aframe,mapbox-gl-js,Aframe,Mapbox Gl Js,我正在使用A-Frame场景中的以1:1的比例提供具有mapbox地图卫星视图纹理的地面(mapbox地图中的1米与A-Frame/three.js场景中的1个单位对齐) 问题:在桌面上加载时,我看到mapbox平面与3d场景的其余部分“正确”(预期)对齐(图1)。但是,在像素3a上的mobile中,贴图盒平面未正确对齐(图2),并且似乎比deskop场景中的要小 如何确保mapbox平面始终具有1:1的比例(1米的mapbox卫星视图=3.js/a-Frame场景中的1个单位)? 地点: 用于

我正在使用A-Frame场景中的以1:1的比例提供具有mapbox地图卫星视图纹理的地面(mapbox地图中的1米与A-Frame/three.js场景中的1个单位对齐)

问题:在桌面上加载时,我看到mapbox平面与3d场景的其余部分“正确”(预期)对齐(图1)。但是,在像素3a上的mobile中,贴图盒平面未正确对齐(图2),并且似乎比deskop场景中的要小

如何确保mapbox平面始终具有1:1的比例(1米的mapbox卫星视图=3.js/a-Frame场景中的1个单位)?

地点:

用于定义mapbox组件的代码片段:

      <a-entity
        geometry="primitive: plane; width: 512; height: 512;"
        material="color: #ffffff; shader: flat; side: both; transparent: true;"
        mapbox="center: -122.415126, 37.763699; zoom: 18; 
          accesstoken: pk.eyJ1IjoibWF0dHJlIiwiYSI6IjRpa3ItcWcifQ.s0AGgKi0ai23K5OJvkEFnA;
          style: mapbox://styles/mapbox/satellite-streets-v11;
          pxToWorldRatio: 4;"
        position="0 0 0"
        rotation="-90 0 0"
      ></a-entity>

图片1-桌面-正确:

图片2-手机-不正确:


(交叉参考)

我的工作假设:mapbox gl库(它是框架mapbox组件的主要依赖项)有一些内置逻辑,根据设备显示DPI确定画布大小。在这种情况下,像素手机的DPI低于Macbook Retina显示屏,因此手机版本的画布尺寸减小。然后,该组件调整场景中平面的大小,以保持所需的像素/米比率。因此,也许解决方案是分叉组件并禁用此平面调整逻辑。另一个线索:我的工作假设:mapbox gl库(它是框架mapbox组件的主要依赖项)有一些内置逻辑,根据设备显示DPI确定画布大小。在这种情况下,像素手机的DPI低于Macbook Retina显示屏,因此手机版本的画布尺寸减小。然后,该组件调整场景中平面的大小,以保持所需的像素/米比率。因此,也许解决方案是分叉组件并禁用此平面调整逻辑。另一个线索: