マーカーのロールオーバー状態で2つの異なる情報を追加しようとしています。ではmarkers.html
、各都市にいくつかの番号を追加しましたが、これらの番号のスタイルを都市名とは異なるものにしたいです。
ラベルにhtmlマークアップを追加するにはどうすればよいですか。に別のパスを追加することで、番号を追加することができましたworld-map.js
:
this.container.delegate("[class~='jvectormap-element']", 'mouseover mouseout', function(e){
var path = this,
type = jvm.$(this).attr('class').indexOf('jvectormap-region') === -1 ? 'marker' : 'region',
code = type == 'region' ? jvm.$(this).attr('data-code') : jvm.$(this).attr('data-index'),
element = type == 'region' ? map.regions[code].element : map.markers[code].element,
labelText = type == 'region' ? map.mapData.paths[code].name : (map.markers[code].config.name || ''),
labelShowEvent = jvm.$.Event(type+'LabelShow.jvectormap'),
overEvent = jvm.$.Event(type+'Over.jvectormap');
var path2 = this,
type = jvm.$(this).attr('class').indexOf('jvectormap-region') === -1 ? 'marker' : 'region',
code = type == 'region' ? jvm.$(this).attr('data-code') : jvm.$(this).attr('data-index'),
element = type == 'region' ? map.regions[code].element : map.markers[code].element,
labelNumber = type == 'region' ? map.mapData.paths[code].number : (map.markers[code].config.number || ''),
labelShowEvent = jvm.$.Event(type+'LabelShow.jvectormap'),
overEvent = jvm.$.Event(type+'Over.jvectormap');
if (e.type == 'mouseover') {
map.container.trigger(overEvent, [code]);
if (!overEvent.isDefaultPrevented()) {
element.setHovered(true);
}
if(labelNumber!= undefined){
map.label.text(labelText+ " " +labelNumber);
}
else{
map.label.text(labelText);
}
map.container.trigger(labelShowEvent, [map.label, code]);
if (!labelShowEvent.isDefaultPrevented()) {
map.label.show();
map.labelWidth = map.label.width();
map.labelHeight = map.label.height();
}
}
else {
element.setHovered(false);
map.label.hide();
map.container.trigger(type+'Out.jvectormap', [code]);
}
});
これはmarkers.htmlの私の構造です:
var markers = [
{latLng: [33.57, -86.75], name: 'Birmingham,AL', number: '$34,000'},
{latLng: [35.22, -92.38], name: 'Little Rock,AR', number: '$34,000'},
],