javascript - 检查鼠标是否位于标记 Google Maps API 上

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

我正在使用带有 Javascript 的 Google Maps API

目前,我的 initMap 函数中有以下代码:

google.maps.event.addListener(map, 'mousemove', function (event) {
  currentPos = event.latLng;
  console.log(currentPos.lat() + " ... " + currentPos.lng());
});

当我右键单击 map 区域时,会在该特定区域中调用某些方法。

但是当我将鼠标悬停在标记(这是一个圆圈)上时,currentPos 保持与鼠标移到圆圈上之前相同。

即 - currentPos 位于圆圈边界上的某个位置,但我的鼠标悬停在圆圈内。

有没有办法

  • 激活 mousemove 监听器,即使将鼠标悬停在标记上时也是如此,或者
  • 识别鼠标位于标记上方

这可能会让我的事情变得更容易。

感谢您的帮助!

最佳答案

触发mousemovemapmousemove事件:

function initialize() {
  var map = new google.maps.Map(document.getElementById('map_canvas'), {
      zoom: 14,
      center: new google.maps.LatLng(52.5498783, 13.425209099999961)
    }),
    ctrl = document.createElement('code');
  map.controls[google.maps.ControlPosition.TOP_CENTER].push(ctrl);
  var circle = new google.maps.Circle({
    map: map,
    center: map.getCenter(),
    radius: 100,
    draggable: true
  });

  google.maps.event.addListener(map, 'mousemove', function(e) {
    ctrl.innerHTML = e.latLng.toUrlValue();
  });
  google.maps.event.addListener(circle, 'mousemove', function(e) {
    google.maps.event.trigger(this.getMap(), 'mousemove', {
      latLng: e.latLng
    })

  });
}

google.maps.event.addDomListener(window, 'load', initialize);
html,
body,
#map_canvas {
  height: 100%;
  margin: 0;
  padding: 0
}
code {
  background: #fff;
  padding: 2px;
  font-size: 1.5em;
  border: 1px solid #000;
  border-radius: 5px;
}
<div id="map_canvas"></div>
<script src="https://maps.googleapis.com/maps/api/js?v=3"></script>

关于javascript - 检查鼠标是否位于标记 Google Maps API 上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36032439/

相关文章:

javascript - 使用 Javascript API 根据多个邮政编码标记 Google map 位置

google-maps - 使用 svg 标记时缩放期间的 Google map 标记对齐问题

javascript - AngularJs - 从集合属性设置 ng-model

javascript - 内联 Javascript 在 ruby​​ on Rails 3.1 中重新渲染部分时无法正常工作

java - 我们如何获得该谷歌地图 v2 中所有路线节点的音轨

javascript - 谷歌 API V3 : Problem with polygon mouseover events if groundOverlay is also defined

javascript - 谷歌地图 : how to find all of the markers inside the map by using gmaps. js

javascript - gmap3 删除事件监听器

javascript - 如何获取诺基亚 map 中可拖动标记的经度和纬度?

javascript - 显示右侧有一个大的和两个小的图像