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上有一个正在运行的示例。当您使用鼠标跟随路线时,坐标不会更新。

4

2 回答 2

1

这是一个在光标位置移动引导工具提示的示例:

    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"
        });
    });
于 2015-07-05T11:28:04.850 回答
0

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

例子

于 2012-09-03T17:10:42.417 回答