我尝试将工具提示添加到使用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),或者根本没有这个名称。
存在某种方式添加'标题'属性直接到pushpin js对象?
答案 0 :(得分:1)
我选择应用属性' title'一经请求。一旦用户将鼠标悬停在图钉上,就会添加该属性:
Microsoft.Maps.Events.addHandler(pin, 'mouseover', pinMouseOver);
...
function pinMouseOver(e) {
var DataName = e.target.getTypeName();
$('.' + DataName).children().attr('title', 'pushpin tooltip text' };
};
答案 1 :(得分:0)
我怀疑在回到视图时重新创建图钉的时间。当博客文章是3年前的原创文章时,这种情况并没有发生。使用Bing Maps创建工具提示有两种不同的方法。一种方法是使用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