繁体   English   中英

检查鼠标是否在标记 Google Maps API 上

[英]Check if mouse is over marker Google Maps API

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

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

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

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

但是当我将鼠标悬停在标记(这是一个圆圈)上时, currentPos与鼠标移过圆圈之前一样。

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

有没有办法

  • 激活mousemove侦听器,即使将mousemove悬停在标记上,或
  • 识别鼠标在标记上

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

谢谢您的帮助!

触发的mousemove -event的mapmousemove中的circle

 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>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM