Mouseover Tooltip jquery(tipsy)

时间:2011-07-09 15:44:02

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

我尝试在标记悬停上执行Jquery工具提示代码,但我认为问题在于设置位置。

这是我的代码

        google.maps.event.addListener(marker, "mouseover", function () {
    $('#example-1').tipsy();
        });

MOUSEOVER代码本身有效,但我认为我可能需要设置工具提示的位置?

这个插件可以在这里找到: http://onehackoranother.com/projects/jquery/tipsy/

3 个答案:

答案 0 :(得分:1)

这里的问题是元素需要在地图上。

有关如何执行此操作的说明,请查看Google的自定义信息窗口示例:

Google Maps Javascript API v3示例信息窗口自定义

答案 1 :(得分:1)

也许还有人需要解决方案。这就是我解决它的方法。

首先,为地图图层中“区域”的悬停事件定义一个侦听器

$(dom).on('hover', 'area', function () {
    var $this = $(this), title = $this.attr('title');
    if (title) {
        $this.removeAttr('title');

        // this is the best dom node I figured out to attach the tipsy (and trigger this very first time)
        $this.parent().parent().attr('title', title).tipsy().tipsy("show");
    }
});

添加制作时,请不要进行优化:

new google.maps.Marker({
    map: map,
    title: title,
    position: location,
    // make maps to create a DOM node for each marker
    optimized: false
});

多数民众赞成!

答案 2 :(得分:0)

您可能只需使用属于Google Maps JavaScript API v3的InfoWindow对象,而不是导入额外的库来获取地图的工具提示。

另一个更简单(但功能更少)的选项是使用Marker个对象的默认工具提示功能。只需在Marker上设置title属性即可。

marker.setTitle('rollover text!!!');

(如果您确实需要使用InfoWindow无法提供的一些功能,那么在问题和/或评论中包含该功能可能会很好。)