jui.define("chart.brush.map.marker", [ "util.base" ], function(_) {
/**
* @class chart.brush.map.flightroute
* @extends chart.brush.core
*/
var MapMarkerBrush = function(chart, axis, brush) {
this.draw = function() {
var g = chart.svg.group(),
w = brush.width,
h = brush.height;
this.eachData(function(d, i) {
var id = axis.getValue(d, "id", null),
xy = axis.map(id);
if(xy != null) {
var html = _.typeCheck("function", brush.html) ? brush.html.call(chart, d) : brush.html,
svg = _.typeCheck("function", brush.svg) ? brush.svg.call(chart, d) : brush.svg,
cx = xy.x - w / 2,
cy = xy.y - h / 2;
if(_.typeCheck("string", html) && html != "") {
var obj = chart.svg.foreignObject({
width: w,
height: h
}).html(html).translate(cx, cy);
g.append(obj);
}
if(_.typeCheck("string", svg) && svg != "") {
var obj = chart.svg.group();
obj.html(svg).translate(cx, cy);
g.append(obj);
}
}
});
return g;
}
}
MapMarkerBrush.setup = function() {
return {
width : 0,
height : 0,
html : null,
svg : null
}
}
return MapMarkerBrush;
}, "chart.brush.map.core");