Google maps api 3 从标记到基础映射的鼠标事件传播

Google maps api 3 从标记到基础映射的鼠标事件传播,google-maps-api-3,Google Maps Api 3,我有一个问题, 为什么当我们越过标记时,与地图相关的鼠标事件从不触发 当我们移动到一个标记上时,不会调用将鼠标移动侦听器添加到地图中 (不存在所谓的事件传播或冒泡) 这实际上是在地图v2上工作 它是一个bug,还是在v3中改变为这种行为 燃烧 下面是一个例子 如果在地图周围移动,则地图标签将按原样更新 但是如果你移动到标记上,地图标签将永远不会更新 var map; function initialize() { var myLatlng = new google.maps.LatL

我有一个问题, 为什么当我们越过标记时,与地图相关的鼠标事件从不触发

当我们移动到一个标记上时,不会调用将鼠标移动侦听器添加到地图中 (不存在所谓的事件传播或冒泡)

这实际上是在地图v2上工作

它是一个bug,还是在v3中改变为这种行为

燃烧

下面是一个例子

如果在地图周围移动,则地图标签将按原样更新 但是如果你移动到标记上,地图标签将永远不会更新

var map;
  function initialize() {
    var myLatlng = new google.maps.LatLng(-25.363882,131.044922);
    var myOptions = {
    zoom: 4,
    center: myLatlng,
    mapTypeId: google.maps.MapTypeId.ROADMAP
  }
  map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);

  google.maps.event.addListener(map, 'MOUSEMOVE', function() {
    document.getElementByID('moveLabel').innerHtml = 'Mouse map move' + Math.random();
  });

  var marker = new google.maps.Marker({
      position: myLatlng,
      map: map,
      title:"Hello World!"
  });
google.maps.event.addListener(marker, 'MOUSEOUT', function() {
    document.getElementByID('markerLabel').innerHtml = '';
  });
  google.maps.event.addListener(marker, 'MOUSEOVER', function() {
    document.getElementByID('markerLabel').innerHtml = 'Mouse over marker';
  });
}

绘制的所有谷歌地图数据都放置在7个图层上。这些层称为窗格。根据图形所属的窗格,它可以接收或不接收事件。有关更多信息,请参阅文档


更新:谷歌地图在7个窗格中绘制所有数据。所有窗格都是同一父窗格的子窗格。对于事件冒泡,元素之间的关系必须是
父子关系
(这样子级可以将事件冒泡到父级),而不是
同级关系
。在
sibling-sibling
关系中,事件由具有最高
z索引的元素接收。这就是为什么您不能将事件从标记器的窗格冒泡到映射的窗格

请向我们展示您的相关代码。嗨,Josh,代码中没有什么特别之处,我只是在地图上添加了一个地图移动侦听器和一个标记。嗨,Josh,代码中没有什么特别之处,我只是在地图上添加了一个地图移动侦听器和一个标记。1.如果标记设置为clickable=false,则会触发标记上的映射移动事件,但在这种情况下,不会触发所有分配标记事件!2.如果marker clickable=true,则会触发所有标记事件,但标记上的map move事件不会触发。。。在V2中,地图事件总是被触发,不管你是否覆盖。无论多么简单,最好向我们展示你的尝试。我们不需要猜测和显示您的主动性。如果您查看地图窗格,您将看到有6个窗格,覆盖图像(第3个窗格是标记图像层),这一个也会获取事件。。我不是在谈论这个,我在上面添加了一个代码。检查一下!Tnx