流向图组件
效果图

用法示例
<script type="text/javascript">
var map,baseLayer,flow;
var city = {
'东莞': [113.8953,22.901],
'东营': [118.7073,37.5513],
'中山': [113.4229,22.478],
'临汾': [111.4783,36.1615],
'临沂': [118.3118,35.2936],
'丹东': [124.541,40.4242],
'丽水': [119.5642,28.1854],
'乌鲁木齐': [87.9236,43.5883],
'佛山': [112.8955,23.1097],
'保定': [115.0488,39.0948],
'兰州': [103.5901,36.3043],
'包头': [110.3467,41.4899],
'北京': [116.4551,40.2539],
'北海': [109.314,21.6211],
'南京': [118.8062,31.9208],
'南宁': [108.479,23.1152],
'南昌': [116.0046,28.6633],
'南通': [121.1023,32.1625],
'厦门': [118.1689,24.6478],
'台州': [121.1353,28.6688],
'合肥': [117.29,32.0581],
'呼和浩特': [111.4124,40.4901],
'咸阳': [108.4131,34.8706],
'哈尔滨': [127.9688,45.368]
};
function addFlowLayer(){
if(flow){
map.removeLayer(flow);
}
var data = new Array();
var bjLatlng = [39.90973623453719, 116.4111328125];
for(var key in city){
data.push({
from: bjLatlng,
to: [city[key][1], city[key][0]],
color: 'red',
size: 2,
label: key
});
}
var opt = {
infoParse: function(data){
return "北京 ----> " + data.label;
},
callback: {
click: function(data){
alert(data.label);
}
}
};
flow = new W.Flow(data, opt).addTo(map);
}
function initMap(){
map = W.map("mapContainer", {
center : [35.53222622770337, 106.875],
zoom : 5,
serverUrl: 'http://localhost:8080/tileProxy'
});
addFlowLayer();
}
</script>
构造方法
构造方法 |
描述 |
W.Flow(data, options) |
构造方法 data: 为一个object 数组; options: 为构造属性; |
构造属性
属性名 |
类型 |
默认值 |
描述 |
style |
object |
{"stroke-width": 2,"stroke": "#f00","arrow-end": "classic-wide-long","stroke-dasharray": "","cursor": "pointer" } |
流向线的样式。 |
ball |
object |
{ style:{ stroke: "none", fill: "#fff" }, xr: 3, yr: 3} |
流向小球的样式,和大小半径。 |
initAnimate |
boolean |
true |
初始化时是否需要动画。 |
animate |
boolean |
true |
是否启动动画效果 |
showInfoWindow |
boolean |
true |
是否显示信息窗口 |
infoParse |
function |
function(data){ return "";} |
信息窗口内容转换函数 |
callback |
object |
{ click: function(data){ }, mouseover: function(data){ }, mouseout: function(data){ } } |
回调事件集合 |