【问题标题】:Bing Maps AJAX v7 pushpin tooltip必应地图 AJAX v7 图钉工具提示
【发布时间】:2014-08-06 00:57:56
【问题描述】:

我正在尝试向使用 Bing Maps AJAX v7 API 创建的图钉添加工具提示。我在http://rbrundritt.wordpress.com/2011/11/21/pushpin-tooltips-in-bing-maps-v7/ 中找到了一个工作代码,但这种方法只有在图钉构建在可见视口内时才有效。

$('.pin1').children().attr('title','This is pin 1.');  

如果图钉是在视口之外构建的,那么一旦您缩小图钉并且图钉变得可见,则 DOM 元素不具有“标题”属性。

另外,我尝试过:

pin.cm1001_er_etr.dom.setAttribute('title', 'Pushpin Title');

但是图钉对象有时有不同的名称(如 cm1002_er_etr),或者有时根本没有这个名称。

是否存在将“标题”属性直接添加到图钉 js 对象的方法?

【问题讨论】:

    标签: javascript bing-maps


    【解决方案1】:

    我选择按需应用属性“标题”。只要用户将鼠标悬停在图钉上,就会添加该属性:

    Microsoft.Maps.Events.addHandler(pin, 'mouseover', pinMouseOver);
    

    ...

    function pinMouseOver(e) {
       var DataName = e.target.getTypeName();
       $('.' + DataName).children().attr('title', 'pushpin tooltip text' };
    };
    

    【讨论】:

    • 这行得通,但你错过了 1 个重要的部分。创建图钉(又名标记)时,您需要给它一个 typeName,例如'pub' 在这个例子中 new Microsoft.Maps.Location( lat, lon, { ... typeName: 'pub' } 这是 e.target.getTypeName() 返回的内容,也是 $( '.pub') 工作的内容。
    【解决方案2】:

    我怀疑在重新创建图钉时重新创建图钉。当那篇博客文章最初是 3 年前写的时,这并没有发生。有几种不同的方法可以使用 Bing 地图创建工具提示。一种方法是使用必应主题模块并为图钉设置信息框的标题和描述。当您将鼠标悬停在图钉上时,这会自动显示信息框的标题。您可以在此处找到更多信息:

    http://www.bingmapsportal.com/ISDK/AjaxV7#BingThemeModule5

    http://msdn.microsoft.com/en-us/library/hh921953.aspx

    另一种方法是在图钉对象上使用鼠标事件,并在用户将鼠标悬停在图钉上时创建自己的工具提示功能。您可以使用信息框控件或使用绝对位置和鼠标位置简单地将 div 浮动到地图上方。您可以在此处找到有关图钉类的文档:http://msdn.microsoft.com/en-us/library/gg427615.aspx

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多