我在街景上遇到了一些麻烦。我只想在加载完成后才显示街景,这样就不会显示灰色。我搜索了API,但我不认为有任何事情可以使用:Documentation谷歌地图js api v3:StreetView全景完成加载?
有什么方法(包括非官方方式)在完全加载后显示街景?谢谢!
我在街景上遇到了一些麻烦。我只想在加载完成后才显示街景,这样就不会显示灰色。我搜索了API,但我不认为有任何事情可以使用:Documentation谷歌地图js api v3:StreetView全景完成加载?
有什么方法(包括非官方方式)在完全加载后显示街景?谢谢!
我做了一些测试(vinod_vh的编辑示例,请参阅http://jsfiddle.net/nDwSC/2/),结果发现,该links_changed
事件是最后一个推出:
- červen2013 17:48:28.775 ==== =发生点击=====/nDwSC/2 /显示/(线210)
- červen2013 17:48:28.780调整大小/ nDwSC/2 /显示/(线170)
- červen2013 17时48分: 28.843 zoom_changed/nDwSC/2/show /(line 173)
- červen2013 17 :48:29.603 pano_changed/nDwSC/2 /显示/(线158)
- červen2013 17:48:29.622 position_changed/nDwSC/2 /显示/(线161)
- červen2013 17: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
事件为google.maps.StreetViewPanorama
不存在)。所以最后的手段可能是使用一些固定的超时 - 完美的工作!
虽然你的方法肯定听起来不错,但在几乎执行的时候,它变得可见,links_changed被解雇为早期版本:http://jsfiddle.net/fLTEm/1/embedded/result/(当事件被触发时,黑暗覆盖消失) –
@DavidMulder - 好吧,我测试了所有可用的事件,显然没有任何作品。研究有时以死胡同结束,但这也是一个结果 - 现在我们可以诚实地断定这个问题没有清晰的解决方案。你必须为此设置一些固定的超时时间。 – TMS
这就是为什么这个问题也需要非官方的方式。颜色数据的画布检查也没有解决,因为画布受到污染... –
隐藏和使地图加载后可见的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>
希望如果你想加载后再加载全景,对于您可以使用iframe它帮助你
如果您同步加载的API是否正常工作? <脚本类型= “文本/ JavaScript的” SRC = “http://maps.googleapis.com/maps/api/js?sensor=false”> .... 的window.onload =初始化() ; – plexer
我认为它应该工作。检查以下链接 http://jsfiddle.net/wK5Hq/23/ –
@vinod_vh:您意识到您的示例在街景显示半秒之前变灰了吗? –