为什么Marzipano没有在移动设备(浏览器)上显示图像

时间:2018-11-27 23:28:57

标签: javascript laravel web

我正在使用Marzipano在我的网站上显示特定位置的360度图像。在台式机和笔记本电脑设备(浏览器)上运行良好,但在移动设备上则无法正常运行。下面是代码:

// Create viewer
var viewer = new Marzipano.Viewer(document.getElementById('pano'));

// Create a source
var source = Marzipano.ImageUrlSource.fromString("{{asset('images/panorama/'.$business->panorama) }}");

// Create geometry.
var geometry = new Marzipano.EquirectGeometry([{ width: 4000 }]);

// Create view.
var limiter = Marzipano.RectilinearView.limit.traditional(1024, 100*Math.PI/180);

var view = new Marzipano.RectilinearView({ yaw: Math.PI }, limiter);

// Create scene.
var scene = viewer.createScene({
    source: source,
    geometry: geometry,
    view: view,
    pinFirstLevel: true
});

// Display scene.
scene.switchTo();

在移动浏览器上是否存在任何图像尺寸限制?或者您认为问题是什么?

谢谢!

1 个答案:

答案 0 :(得分:0)

检查器中画布的大小是否设置为0? 如果是,则可能要在短暂延迟后触发调整大小事件。因此,Marzipano将重新计算要显示的画布的大小。 我遇到了同样的问题,并且此问题得以解决。 我的猜测是,当marzipano元素初始化时,页面的布局尚未计算。

类似这样的东西:

scene.switchTo();
setTimeout(()=>{
    window.dispatchEvent(new Event('resize'));
}, 60);

希望这可以帮助某人。