我的街景有点问题。我只想在完成加载后显示街景,以便不显示灰色。我搜索了 api,但我认为没有任何事件可以使用:文档
有没有办法(包括非官方方式)在街景满载后显示街景?谢谢!
我的街景有点问题。我只想在完成加载后显示街景,以便不显示灰色。我搜索了 api,但我认为没有任何事件可以使用:文档
有没有办法(包括非官方方式)在街景满载后显示街景?谢谢!
加载地图后隐藏并使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>
希望对你有帮助
我做了一些测试(vinod_vh 的编辑示例,请参阅http://jsfiddle.net/nDwSC/2/)并发现该links_changed
事件是最后一个启动的事件:
- červen 2013 17:48:28.775 ===== 点击发生 ===== /nDwSC/2/show/(第 210 行)
- červen 2013 17:48:28.780 调整 /nDwSC/2/show/ 大小(第 170 行)
- červen 2013 17:48:28.843 zoom_changed /nDwSC/2/show/(第 173 行)
- červen 2013 17:48:29.603 pano_changed /nDwSC/2/show/(第 158 行)
- červen 2013 17:48:29.622 position_changed /nDwSC/2/show/(第 161 行)
- červen 2013 17:48:29.634 链接已更改
所以你可能真的想使用这个事件!它也将在不同的上下文中启动,但您可以通过一些标志变量来处理这个问题,该变量将在您单击按钮时设置,并在处理程序中进行测试,可能超时。
所以,你应该怎么做:
隐藏你的街景;但不要使用display: none
,使用左侧隐藏技术的技巧,如 jQuery UI < 1.9 (对于新版本,不幸的是它不起作用:
.hide {
position: absolute !important;
left: -10000px !important;
}
保持与结果相同尺寸的隐藏框架!
处理links_changed
事件 - 删除hide
类,并调整地图的大小。
如果您发现该links_changed
事件被过早触发,则没有其他可能性可以通过处理事件来干净利落地执行此操作。您甚至不能使用地图idle
事件(并且idle
事件google.maps.StreetViewPanorama
不存在)。所以最后的手段可能是使用一些固定的超时 - 这非常有效!
如果您想在加载后加载全景图,为此您可以使用 iframe 并且您可以使用 AJAX 加载器的包装器,在地图加载之前不会改变,(就绪状态 ==4),(或另一个 ajax 加载器包装器使用一些全局变量作为标志来了解就绪状态..,注意:这是不稳定的想法,但适用于某些浏览器)
这将是简单的方法,在 API 中,如果你想这样做,
引用事件侦听器,
别的
options在文档中有一个选项,
IE
visible :: boolean :: 如果为 true,则街景全景图在加载时可见。
我希望这会让你的事情变得容易..
我希望我已经在上下文中回答了您的实际要求..