### 查询数据:
~~~
public function index()
{
$data = Db::name('user_count')->select();
$this->assign('data',$data);
return $this->fetch();
}
~~~
* * * * *
### 引入相关资源:
~~~
<!--引入百度地图的jssdk-->
<script src="http://api.map.baidu.com/api?v=2.0&ak=2qkjnM1Bpkac4825hyth9mGzU9xAGtDt"></script>
<script src="__LIB__/jquery-3.3.1.min.js"></script>
<script src="__LIB__/node_modules/echarts/dist/echarts.js"></script>
<script src="__LIB__/node_modules/echarts/dist/extension/bmap.js"></script>
~~~
* * * * *
### 初始化echart实例:
~~~
<div id="map" style="width: 1500px;height: 800px;"></div>
<script>
var weChatMap = echarts.init(document.getElementById('map'));
</script>
~~~
* * * * *
### 设置参数:
~~~
option = {
title: {
text: '微信好友分布图',
// subtext: '项目',
// sublink: 'http://www.pm25.in',
left: 'center'
},
tooltip : {
trigger: 'item'
},
bmap: {
center: [104.114129, 37.550339],
zoom: 5,
roam: true,
mapStyle: {
styleJson: [{
'featureType': 'water',
'elementType': 'all',
'stylers': {
'color': '#d1d1d1'
}
}, {
'featureType': 'land',
'elementType': 'all',
'stylers': {
'color': '#f3f3f3'
}
}
series : [
{
name: '微信好友分布图',
type: 'scatter',
coordinateSystem: 'bmap',
data: convertData(data),
symbolSize: function (val) {
return val[2] / 0.5;
},
label: {
normal: {
formatter: '{b}',
position: 'right',
show: false
},
emphasis: {
show: true
}
},
itemStyle: {
normal: {
color: 'purple'
}
}
},
{
name: 'Top 5',
type: 'effectScatter',
coordinateSystem: 'bmap',
data: convertData(data.sort(function (a, b) {
return b.value - a.value;
}).slice(0, 6)),
symbolSize: function (val) {
return val[2] / 0.5;
},
showEffectOn: 'render',
rippleEffect: {
brushType: 'stroke'
},
hoverAnimation: true,
label: {
normal: {
formatter: '{b}',
position: 'right',
show: true
}
},
itemStyle: {
normal: {
color: 'purple',
shadowBlur: 10,
shadowColor: '#333'
}
},
zlevel: 1
}
]
};
~~~
* * * * *
### 生成分布图:
~~~
weChatMap.setOption(option);
~~~
> 完整代码见文件夹wechatFriends
* * * * *
### 在线预览链接:
> [http://gis.icandebug.com](http://gis.icandebug.com)
* * * * *
### 说明:
> * 作品所用到的编程语言、数据库、以及第三方库均为开源免费,不会产生版权问题。
> * 结果图中圆圈越大表示这里的好友越多。其中分布最多的5个市有动态雷达波。
[TOC]