我正在使用jqvmap来显示世界地图,并在单击国家时显示适当的电子邮件信息。它工作得很好。我只能显示6-7个国家。现在,我想要显示悬停的国家的名称作为工具提示,只为选定的国家。以下是我的地图代码
<script type="text/javascript">
jQuery(document).ready(function() {
jQuery('#vmap').vectorMap({
map: 'world_en',
backgroundColor: '#fff',
color: '#87CEEB',
hoverOpacity: 0.6,
selectedColor: '#8B0000',
enableZoom: true,
showTooltip: true,
values: sample_data,
scaleColors: ['#C8EEFF', '#006491'],
selectedRegion: null,
normalizeFunction: 'polynomial',
onRegionClick: function(element, code, region)
{
if (region == "United States of America") {
document.getElementById('mailblock').innerHTML = 'Contact Information for USA (New York) :';
}
}
});
});
</script>发布于 2014-03-21 16:12:05
您可以这样做(将您的示例视为理所当然):
<script type="text/javascript">
jQuery(document).ready(function() {
// your defined areas where the label is shown
var areasWithLabel = ['DE', 'US', 'CA', 'RU'];
jQuery('#vmap').vectorMap({
// removed your usual settings
onLabelShow: function(event, label, code) {
for (area in areasWithLabel {
if (area == code) {
event.preventDefault();
}
}
}
});
});
</script>基本上,您要做的是检查您定义的区域中是否有一个当前悬停在上面,并防止该事件的默认行为(显示标签)。
您可以在documentation page上查看其中一个示例
https://stackoverflow.com/questions/20811229
复制相似问题