2011-08-31 186 views
24

如何知道谷歌地图何时处于街景模式或路标模式?有没有事件被解雇?我试着翻看文档,似乎没有任何东西。我错过了什么吗?检测谷歌地图街景模式

当用户切换到街景模式时,我希望UI改变,但我不知道要绑定哪个事件。

回答

51

检测与您的Map对象关联的StreetViewPanorama上的visible_changed事件。您可以通过调用其getStreetView()方法从地图获取全景图并将处理程序绑定到该对象的事件。您必须通过调用getVisible()方法来测试StreetViewPanorama的可见性。

例如:

var map = new google.maps.Map(document.getElementById("theMap"), {streetViewControl: true}); 

var thePanorama = map.getStreetView(); 

google.maps.event.addListener(thePanorama, 'visible_changed', function() { 

    if (thePanorama.getVisible()) { 

     // Display your street view visible UI 

    } else { 

     // Display your original UI 

    } 

}); 

StreetViewPanorama Object Documentation的你可以侦听此对象的更多事件的事件部分。

+0

是的,我设法找出了昨晚深夜,谢谢,虽然:D – userinev

+0

@userinev Doh,我发布了15分钟内你的要求,嘿嘿。太糟糕了,你没有早点回来。 :[ – lsuarez

+0

由于某些原因,每次进入/退出事件对我而言都会触发不止一次的事件。 –