【问题标题】:Google Maps InfoBox or Info Window click eventlistener?谷歌地图信息框或信息窗口点击事件监听器?
【发布时间】:2013-12-28 16:31:12
【问题描述】:

有没有办法为信息窗口或信息框添加点击事件监听器(我正在使用那个插件)?

我真正遇到的问题是,窗口/框有时会妨碍单击事件监听器,当用户单击地图上的任何位置时应该触发该事件监听器。

【问题讨论】:

    标签: google-maps-api-3 infowindow infobox


    【解决方案1】:

    来自文档:

    http://google-maps-utility-library-v3.googlecode.com/svn/trunk/infobox/docs/examples.html

    使用 InfoBox 创建地图标签 此示例说明如何使用 InfoBox 作为地图标签。一个重要的步骤是设置 将窗格属性设置为“mapPane”,以便信息框出现在地图上其他所有内容的下方。 还需要设置closeBoxURL为"",这样标签就不会有关闭框了, 将 disableAutoPane 设置为 true 以便在添加标签时地图不会平移,并且 将 enableEventPropagation 设置为 true,以便将事件传递到地图 处理。

    来自上面引用的示例:

        var myOptions = {
                 content: boxText
                ,disableAutoPan: false
                ,maxWidth: 0
                ,pixelOffset: new google.maps.Size(-140, 0)
                ,zIndex: null
                ,boxStyle: { 
                  background: "url('tipbox.gif') no-repeat"
                  ,opacity: 0.75
                  ,width: "280px"
                 }
                ,closeBoxMargin: "10px 2px 2px 2px"
                ,closeBoxURL: "http://www.google.com/intl/en_us/mapfiles/close.gif"
                ,infoBoxClearance: new google.maps.Size(1, 1)
                ,isHidden: false
                ,pane: "floatPane"
                ,enableEventPropagation: false
        };
    
        var ib = new InfoBox(myOptions);
        ib.open(theMap, marker);
    

    【讨论】:

    • 谢谢!您粘贴的代码对于此问题不正确 - 'pane:"floatPane"' 必须是 'pane:"mapPane"',所以我最初认为您的解决方案不正确。但是您发布的文字和链接非常完美!
    • 实际上,我应该注意到这有问题,因为它将信息框放置在任何折线或标记下方。
    • 它没有说明您问题中的折线或标记。
    • 不,我不知道它与解决方案有关。
    • 但我发现如果我将 InfoBox 添加到“overlayLayer”窗格并将 zIndex 设置得足够高,它至少在折线的前面:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-01-16
    • 1970-01-01
    • 2018-03-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-02
    相关资源
    最近更新 更多