我的街景有些麻烦。我想在完成加载后才显示街景,这样就不会显示灰色。我搜索了api,但我认为没有任何可以使用的事件:Documentation
有没有办法(包括非官方方式)在满载后显示街景?谢谢!
答案 0 :(得分:0)
我做了一些测试(vinod_vh的编辑示例,请参阅http://jsfiddle.net/nDwSC/2/)并发现links_changed
事件是最后一次发布的事件:
- červen201317:48:28.775 =====点击发生===== / nDwSC / 2 / show /(210行)
- červen201317:48:28.780 resize / nDwSC / 2 / show /(170行)
- červen201317:48:28.843 zoom_changed / nDwSC / 2 / show /(第173行)
- červen201317:48:29.603 pano_changed / nDwSC / 2 / show /(第158行)
- červen201317:48:29.622 position_changed / nDwSC / 2 / show /(第161行)
- červen201317:48:29.634链接已更改
醇>
所以你可能真的想要使用这个活动!它也将在不同的上下文中启动,但是您可以通过设置一些标志变量来处理这个问题,当您单击按钮并在处理程序中进行测试时可能会超时。
那么,你应该做什么:
隐藏你的街景;但是不要使用display: none
,请使用技巧
使用jQuery UI中的左/右隐藏技术< 1.9(新的
版本there is it doesn't work
unfortunately:
.hide {
position: absolute !important;
left: -10000px !important;
}
保持与结果尺寸相同的隐藏框架!
处理links_changed
事件 - 删除hide
类,然后调整地图大小。
如果您发现links_changed
事件过早发生,则没有其他可能通过处理事件来干净地执行此操作。 You cannot even use the map idle
event(idle
的{{1}}事件不存在)。所以最后的手段可能是使用一些固定的超时 - 这完全有效!
答案 1 :(得分:0)
在加载地图后隐藏并使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>
希望它能帮到你
答案 2 :(得分:0)
如果你想在加载之后加载全景,为此可以使用iframe,你可以使用AJAX加载器的包装器,在加载地图之前不会改变,(就绪状态== 4),(或者更多) ajax loader包装器用一些全局变量作为标志来知道就绪状态..,注意:这是不稳定的想法,但适用于某些浏览器)
如果您想这样做,这将是一种简单的方法,
引用事件监听器,
其他
options在文档中有一个选项,
即
visible :: boolean ::如果为true,则在加载时可以看到街景全景。
我希望这会让事情变得轻松......
我希望我已根据您的实际要求回答了问题。