4

我的街景有点问题。我只想在完成加载后显示街景,以便不显示灰色。我搜索了 api,但我认为没有任何事件可以使用:文档

有没有办法(包括非官方方式)在街景满载后显示街景?谢谢!

4

3 回答 3

1

加载地图后隐藏并使div可见应该可以解决问题...

像这样

<div id="pano" style="position:absolute; left:410px; top: 8px; width: 400px; height: 300px;visibility:hidden;"></div>

<script> google.maps.event.addDomListener(window, 'load',initialize);
setTimeout('showPano()',1000);
function showPano(){
document.getElementById('pano').style.visibility='visible';}
</script>

希望对你有帮助

于 2013-06-10T12:07:01.117 回答
0

我做了一些测试(vinod_vh 的编辑示例,请参阅http://jsfiddle.net/nDwSC/2/)并发现该links_changed事件是最后一个启动的事件:

  1. červen 2013 17:48:28.775 ===== 点击发生 ===== /nDwSC/2/show/(第 210 行)
  2. červen 2013 17:48:28.780 调整 /nDwSC/2/show/ 大小(第 170 行)
  3. červen 2013 17:48:28.843 zoom_changed /nDwSC/2/show/(第 173 行)
  4. červen 2013 17:48:29.603 pano_changed /nDwSC/2/show/(第 158 行)
  5. červen 2013 17:48:29.622 position_changed /nDwSC/2/show/(第 161 行)
  6. červen 2013 17:48:29.634 链接已更改

所以你可能真的想使用这个事件!它也将在不同的上下文中启动,但您可以通过一些标志变量来处理这个问题,该变量将在您单击按钮时设置,并在处理程序中进行测试,可能超时。

所以,你应该怎么做:

  1. 隐藏你的街景;但不要使用display: none,使用左侧隐藏技术的技巧,如 jQuery UI < 1.9 (对于新版本,不幸的是它不起作用

    .hide { position: absolute !important; left: -10000px !important; }

    保持与结果相同尺寸的隐藏框架!

  2. 处理links_changed事件 - 删除hide类,并调整地图的大小。

如果您发现该links_changed事件被过早触发,则没有其他可能性可以通过处理事件来干净利落地执行此操作。您甚至不能使用地图idle事件(并且idle事件google.maps.StreetViewPanorama不存在)。所以最后的手段可能是使用一些固定的超时 - 这非常有效!

于 2013-06-08T16:08:49.187 回答
0

如果您想在加载后加载全景图,为此您可以使用 iframe 并且您可以使用 AJAX 加载器的包装器,在地图加载之前不会改变,(就绪状态 ==4),(或另一个 ajax 加载器包装器使用一些全局变量作为标志来了解就绪状态..,注意:这是不稳定的想法,但适用于某些浏览器)

这将是简单的方法,在 API 中,如果你想这样做,

引用事件侦听器,

别的

options在文档中有一个选项,

IE

visible :: boolean :: 如果为 true,则街景全景图在加载时可见。

我希望这会让你的事情变得容易..

我希望我已经在上下文中回答了您的实际要求..

于 2013-06-10T12:50:08.510 回答