我正在使用带有 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
监听器,即使将鼠标悬停在标记上时也是如此,或者 - 识别鼠标位于标记上方
这可能会让我的事情变得更容易。
感谢您的帮助!
最佳答案
触发圆
的mousemove
中map
的mousemove
事件:
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/