Google地图点击任何内容但RichMarker Listener

时间:2016-03-09 21:16:56

标签: javascript google-maps google-maps-api-3 google-maps-markers

当我点击RichMarker信息框正确打开时。当我点击地图时,我希望信息框关闭。

这会正确打开信息框:

var itm = document.getElementById("marker-div").cloneNode(true);

marker = new RichMarker({
    position: new google.maps.LatLng(49, 120),
    map: map,
    draggable: false,
    shadow: '',
    content: itm
});

google.maps.event.addListener(marker, 'click', function() {

    infobox.setContent('<div>Hi there</div>');      //load infobox content...
    infobox.open(map, this);                        //open infobox...
});

我不知道如何关闭地图上的信息框点击。如果我包含此侦听器,则信息框永远不会打开,因为每次单击都会触发close函数:

google.maps.event.addListener(map, "click", function(event) {

    infobox.close();
});

1 个答案:

答案 0 :(得分:1)

取消标记点击的冒泡:

    google.maps.event.addListener(marker, 'click', function(e) {
      e.stopPropagation();
      infobox.setContent('<div>Hi there</div>');      //load infobox content...
      infobox.open(map, this);                        //open infobox...
    });