【问题标题】:Proper way to set the StreetView PanoramaId and POV at the same time?同时设置 StreetView PanoramaId 和 POV 的正确方法?
【发布时间】:2015-02-01 17:57:58
【问题描述】:

我有一个名为 StreetViewSafari 的小网络应用程序,它在屏幕上有一个 StreetViewPanorama 和一个地图,我无法确定如何同时设置 PanoramaId(摄像头位置)和 POV(摄像头视角)并拥有所有瓷砖正确加载。我尝试了许多不同的方法来做到这一点,目前正在设置 setOptions 方法。

正如您在网站上看到的,Firefox 和 Chrome 之间的功能非常强大。 Chrome seems to load blotchy tiles 可以使用网络应用程序上的“显示下一个”按钮进行复制。 Firefox 加载图块没有问题。

我想知道是否有更好的方法让两个浏览器都满意,或者我是否应该将此问题上报给 Google 支持。

例如:

var options: google.maps.StreetViewPanoramaOptions = {
    pano: loadedScene.panoId, //an id
    pov: loadedScene.getStreetViewPov() //a valid POV object
};
panorama.setOptions(options);

干杯, 凯文

【问题讨论】:

标签: javascript google-maps-api-3 google-street-view


【解决方案1】:

基本上:

虽然你调用了一个方法(setOptions),但这个方法会一个一个地设置选项。

但问题似乎恰恰相反,选项设置得太快了。

对我来说,当我再次设置 pov 并稍作延迟时,结果会好得多(这似乎会强制进行某种重新渲染)

var options = {
        pano: loadedScene.panoId,
        pov: loadedScene.getStreetViewPov()
    };

panorama.setOptions(options);

setTimeout(function() {
    panorama.setPov(options.pov);
}, 500);

【讨论】:

  • 谢谢医生,我会试试的。我仍然不知道为什么 Firefox 似乎处理得很好。
  • 看来 chrome 使用另一种技术来绘制全景图。至少对我来说,在 Firefox 中,全景图将通过<img/>-elements 绘制,chrome 使用<canvas/>
  • 我将此标记为答案,因为这似乎是远程使操作按预期工作的唯一方法。对于 API,它仍然感觉有点 hackish。感谢您提供信息文档。
猜你喜欢
  • 1970-01-01
  • 2021-10-30
  • 2020-07-03
  • 2021-02-09
  • 2019-05-11
  • 2013-09-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多