在路线上使用mousemove获取鼠标坐标

时间:2012-09-03 13:50:24

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

在普通的谷歌地图上,我可以使用以下代码获取并显示鼠标点的地理坐标:

google.maps.event.addListener(map, "mousemove", function(event) {
  document.getElementById('message').innerHTML =
  'Geographical Coordinates: ' + event.latLng.lat() + ', ' + event.latLng.lng();
});

如果我使用Google方向api计算路线并将鼠标移到显示的路线上,则不会触发“mousemove”事件。当鼠标指针在路线上时,如何获取坐标?

我在jsfiddle上有一个正在运行的例子。当您使用鼠标按照路线时,坐标不会更新。

2 个答案:

答案 0 :(得分:1)

这是在光标位置移动bootstrap工具提示的示例:

    google.maps.event.addListener(poly,"mousemove",function(e){

        var _tooltipPolys = $("#tooltipPolys");
        if(_tooltipPolys.length == 0) {
            _tooltipPolys = $(' \
                <div id="tooltipPolys" class="tooltip top" role="tooltip"> \
                    <div class="tooltip-arrow"></div> \
                    <div class="tooltip-inner"></div> \
                </div> \
            ');
            $("body").append(_tooltipPolys);
            $("div.tooltip-inner", _tooltipPolys).text(this.title);
            _tooltipPolys.css({
                "opacity": ".9",
                "position":"absolute"
            });
        }

        var pageX = event.pageX;
        var pageY = event.pageY;
        if (pageX === undefined) {
            pageX = event.clientX + document.body.scrollLeft + document.documentElement.scrollLeft;
            pageY = event.clientY + document.body.scrollTop + document.documentElement.scrollTop;
        }

        // Update the current tooltip position each time the cursor moves
        _tooltipPolys.css({
            "top":(pageY - _tooltipPolys.height() - 10)+"px",
            "left":(pageX - (_tooltipPolys.width() / 2))+"px"
        });
    });

答案 1 :(得分:0)

我知道将鼠标悬停事件添加到路径本身的唯一方法是绘制折线(以便您可以访问它),然后向其添加鼠标悬停事件。

Example