Javascript 鼠标悬停时,谷歌地图信息框不会一直弹出

Javascript 鼠标悬停时,谷歌地图信息框不会一直弹出,javascript,google-maps,jsf,google-maps-api-3,jsf-1.2,Javascript,Google Maps,Jsf,Google Maps Api 3,Jsf 1.2,我在xhtml中嵌入了一个谷歌地图。它有带有弹出信息框的标记,我从InfoWindows转换来利用布局控制,但现在我得到了一些不一致的行为。当页面第一次加载信息框时,所有信息框都会正常打开(鼠标悬停)。但是,当我在地图上移动或将光标从地图上移开再移开时,它们开始表现不好,有时有效,有时无效 /* map stuff */ var map = new google.maps.Map(document.getElementById('map'), { zoom: 4, center:

我在xhtml中嵌入了一个谷歌地图。它有带有弹出信息框的标记,我从InfoWindows转换来利用布局控制,但现在我得到了一些不一致的行为。当页面第一次加载信息框时,所有信息框都会正常打开(鼠标悬停)。但是,当我在地图上移动或将光标从地图上移开再移开时,它们开始表现不好,有时有效,有时无效

 /* map stuff */

 var map = new google.maps.Map(document.getElementById('map'), {
  zoom: 4,
  center: new google.maps.LatLng(41.40, -91.32),
  mapTypeId: google.maps.MapTypeId.HYBRID
});



google.maps.event.trigger(map, 'resize');
map.setZoom( map.getZoom() );

 var marker;


 /* load each marker with info */

function addEvents(lat, lng, markerInfo) {        


 /* set each marker */  

       marker = new google.maps.Marker({
         position: new google.maps.LatLng(lat, lng),
         map: map
       });

   var iconFile = '#{request.contextPath}/img/pin.png'; 
    marker.setIcon(iconFile); 

 /* infoBox properties - tried moving this to global, doesn't work */
    var boxOpts = {
            disableAutoPan: false,
            maxWidth: 0,
            pixelOffset: new google.maps.Size(-140, 0),
            boxStyle: { 
              background: '#ffffff',
              opacity: 1,
              width: '180px'
            },
            closeBoxURL: '',
            infoBoxClearance: new google.maps.Size(1, 1),
            isHidden: false,
            pane: 'floatPane',
            enableEventPropagation: true
    };

 var infobox = new InfoBox(boxOpts);
 var html = '<div style="color:#333; font-size:12px; box-shadow: 12px 12px 8px 4px rgba(0,0,0,0.4);">' markerInfo + '</div>';


 /* mouseover shows infoBox - only works sometimes, tried addListener as well */

   google.maps.event.addDomListener(marker, 'mouseover', function(){
       infobox.setContent(html);
       infobox.open(map, this);
  });

   google.maps.event.addDomListener(marker, 'mouseout', function(){
       infobox.close(map, this);

   });
}
这里调用addEvents函数:

 <div id="myController" style="visibility: hidden;">
    <rich:dataList var="eventAdd" value="#{some.resultList}">
  <script type="text/javascript">
         addEvents('<h:outputText value="#{eventAdd.latitude}"/>', 
           '<h:outputText value="#{eventAdd.longitude}"/>',                             
           '<h:outputText value="#{eventAdd.markerInfo}"/>
     );
     </script>
似乎没有任何模式可以解释为什么有些工作,有些不工作,这并不总是相同的。我可以将鼠标移到一个位置,信息框显示,移动到另一个位置,信息框不显示,移回上一个位置,信息框也不显示。 预计到达时间:
当我返回到信息窗口时,弹出窗口如预期的那样显示。

控制台中是否有任何内容?您是否有一个小提琴或链接来重现该问题?似乎类似于我以前看到的问题,现在找不到这些参考资料。@alkis,是的,有。当我选择一个标记时,我得到了预期的“无”或URL,但找到了“alpha”。分析“筛选器”的值时出错。声明被撤回。a4j/s/3_3_3.Final/org/richfaces/skin.xcs/DATB/eAFb88PeNXT5DGkAE5cD2A_uuuuuuuuuu1我会尝试一把小提琴,但我不认为如果我删除不透明度,我可以得到richfaces的东西:1从盒子中删除这些错误会消失,但不一致性仍然存在。