4

我在街景上遇到了一些麻烦。我只想在加载完成后才显示街景,这样就不会显示灰色。我搜索了API,但我不认为有任何事情可以使用:Documentation谷歌地图js api v3:StreetView全景完成加载?

有什么方法(包括非官方方式)在完全加载后显示街景?谢谢!

+0

如果您同步加载的API是否正常工作? <脚本类型= “文本/ JavaScript的” SRC = “http://maps.googleapis.com/maps/api/js?sensor=false”> .... 的window.onload =初始化() ; – plexer

+0

我认为它应该工作。检查以下链接 http://jsfiddle.net/wK5Hq/23/ –

+0

@vinod_vh:您意识到您的示例在街景显示半秒之前变灰了吗? –

回答

0

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

  1. červen2013 17:48:28.775 ==== =发生点击=====/nDwSC/2 /显示/(线210)
  2. červen2013 17:48:28.780调整大小/ nDwSC/2 /显示/(线170)
  3. červen2013 17时48分: 28.843 zoom_changed/nDwSC/2/show /(line 173)
  4. červen2013 17 :48:29.603 pano_changed/nDwSC/2 /显示/(线158)
  5. červen2013 17:48:29.622 position_changed/nDwSC/2 /显示/(线161)
  6. červen2013 17:48:29.634链接变更

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

所以,你应该做的:

  1. 隐藏自己的街景;但不使用display: none,使用的伎俩 与关闭左隐藏技术在jQuery UI的< 1.9(为there is it doesn't work unfortunately新 版本:

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

    保持同样尺寸的隐藏帧的结果之一!

  2. 处理links_changed事件 - 删除hide类,也调整了地图的

。 0

如果您发现links_changed事件被触发得太早,则无法通过处理事件干净地完成此操作。 You cannot even use the map idle event(和idle事件为google.maps.StreetViewPanorama不存在)。所以最后的手段可能是使用一些固定的超时 - 完美的工作!

+0

虽然你的方法肯定听起来不错,但在几乎执行的时候,它变得可见,links_changed被解雇为早期版本:http://jsfiddle.net/fLTEm/1/embedded/result/(当事件被触发时,黑暗覆盖消失) –

+0

@DavidMulder - 好吧,我测试了所有可用的事件,显然没有任何作品。研究有时以死胡同结束,但这也是一个结果 - 现在我们可以诚实地断定这个问题没有清晰的解决方案。你必须为此设置一些固定的超时时间。 – TMS

+0

这就是为什么这个问题也需要非官方的方式。颜色数据的画布检查也没有解决,因为画布受到污染... –

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> 

希望如果你想加载后再加载全景,对于您可以使用iframe它帮助你

0

,并可以与AJAX装载机包装,不会直到加载地图,(准备好状态== 4),(或多个ajax加载器包装器,用一些全局变量作为标志来知道就绪状态..,注意:这是不稳定的想法,但适用于某些浏览器)

这将是简单的方法,在API中,如果你想d但愿,

指事件侦听器,

其他

options已经在文档中一个选项,

可见::布尔::如果为true,街景全景图可见负载。

我希望这将使容易对你身边的东西..

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

+1

问题是StreetView是由JavaScript异步加载的...所以所有这些事件将在*之前被真实地解雇* StreetView被加载。 – TMS