Jquery prop仅在第一个&x27;鼠标盖';事件

Jquery prop仅在第一个&x27;鼠标盖';事件,jquery,google-maps,twitter-bootstrap-3,Jquery,Google Maps,Twitter Bootstrap 3,我正在使用引导工具提示在鼠标上方显示地图标记的标题。我用“道具”来设置标题 问题在于,工具提示标题属性仍然设置为鼠标经过的第一个标记 markers[id].addListener('mouseover', function () { console.log(markers[id].title); /* get marker pixel position */ var proj = overlay.getProjection(); var pos = marker

我正在使用引导工具提示在鼠标上方显示地图标记的标题。我用“道具”来设置标题

问题在于,工具提示标题属性仍然设置为鼠标经过的第一个标记

markers[id].addListener('mouseover', function () {
    console.log(markers[id].title);
    /* get marker pixel position */
    var proj = overlay.getProjection();
    var pos = markers[id].getPosition();
    var p = proj.fromLatLngToContainerPixel(pos);
    /* show tooltip */
    $("#tooltip").css("left", p.x + "px").css("top", (p.y + 20) + "px").prop('title', markers[id].title).tooltip('show');
});

请参见fiddle-

请参见,您所做的有一个基本问题,那就是您对引导
.tooltip()
工作原理的理解。 无论如何,下面是您可以做的,删除元素并重新插入它,即

marker.addListener('mouseover', function () {

    var tooltip = $('#tooltip');

    /* get marker pixel position */
    var proj = overlay.getProjection();
    var pos = marker.getPosition();
    var p = proj.fromLatLngToContainerPixel(pos);

    //recreate tooltip
    tooltip.remove();
    tooltip = $(' <div id="tooltip" title="'+ marker.title+'"></div>');
    $('#map').after(tooltip);        

    //add new orientation
    tooltip.css({"left": p.x + "px", "top": (p.y + 10) + "px"});

    tooltip.tooltip();
    tooltip.tooltip('show');

});
marker.addListener('mouseover',函数(){
变量工具提示=$(“#工具提示”);
/*获取标记像素位置*/
var proj=overlay.getProjection();
var pos=marker.getPosition();
var p=LatlNgtoContainerPixel(位置)项目;
//重新创建工具提示
工具提示。删除();
工具提示=$('');
$(“#映射”)。之后(工具提示);
//添加新方向
css({“左”:p.x+“px”,“顶”:(p.y+10)+“px”});
tooltip.tooltip();
工具提示。工具提示(“显示”);
});

您可以尝试的其他选项包括

  • 为单个标记创建单独的工具提示容器,这将节省鼠标悬停时的额外处理

  • 您只需使用google maps marker
    infowindow
    并向其注入您自己的自定义(看起来像引导工具提示)html,为什么要重新发明轮子?(强烈推荐)


  • 问题在于,一旦工具提示初始化,它就会存储标题,并且不会在每次显示时从
    title
    属性中获取标题。如果您想在不破坏工具提示的情况下更改工具提示的标题,请参阅@Stryner ah yes,谢谢1。我将显示多达2048个标记,您仍然推荐吗?2.我将使用infowindow获取更多内容。哦,所以鼠标悬停时显示内容1,单击时显示内容2,不,不,你很好:)