获取鼠标光标在Google Maps V3 API Marker的鼠标悬停上的位置

Nyx*_*yxx 14 javascript jquery google-maps google-maps-api-3

div当光标鼠标悬停在使用jQuery的标记上时,我试图在光标位置显示.它有点像工具提示.但是我似乎无法弄清楚如何获得光标下方点的X/Y坐标.

现行代码:

google.maps.event.addListener(marker, "mouseover", function(event) {

    $("#tooltip").css({
        position: "absolute",
        top: event.pageY,
        left: event.pageX
    }).toggle();
Run Code Online (Sandbox Code Playgroud)

我相信在jQuery event中没有属性pageYpageX类似的东西.

我如何获得鼠标光标的位置?

Jir*_*riz 23

这是我之前关于像素位置计算的答案的扩展(Google maps API v3).引入一个"全局"变量overlay:

var overlay = new google.maps.OverlayView();
overlay.draw = function() {};
overlay.setMap(map); // 'map' is new google.maps.Map(...)
Run Code Online (Sandbox Code Playgroud)

overlay在侦听器中使用以获取投影和像素坐标:

google.maps.event.addListener(marker, 'mouseover', function() {
    var projection = overlay.getProjection(); 
    var pixel = projection.fromLatLngToContainerPixel(marker.getPosition());
    // use pixel.x, pixel.y ... (after some rounding)
}); 
Run Code Online (Sandbox Code Playgroud)

你也可以看看projection.fromLatLngToDivPixel().

  • 嗯,这不会获得鼠标光标的位置,而是获取正在侦听事件的标记的位置 (4认同)