echart-ip地域分布地図
6409 ワード
Echartプラグインを利用して、ユーザーIPが自動的にユーザー地区の分布状況を描画することを実現する.
1、php解析ipデータ
mysqlテーブルからユーザipを取り、新浪IPアドレスライブラリ解析を呼び出して対応地域を得、php配列に格納する.
フォーマット:array(「江蘇」=>「15」、「上海」=>「18」)は、江蘇省におけるユーザーの分布数が15であることを示している.
2、ajaxを利用してjason形式の「ユーザー地区分布」情報を伝達する
1、php解析ipデータ
mysqlテーブルからユーザipを取り、新浪IPアドレスライブラリ解析を呼び出して対応地域を得、php配列に格納する.
フォーマット:array(「江蘇」=>「15」、「上海」=>「18」)は、江蘇省におけるユーザーの分布数が15であることを示している.
"15"," "=>"18")
for ($i = 0; $i < count($city); $i++){
if(array_key_exists($city[$i],$array))
{
$array[$city[$i]]+=1;
}
else
{
$array[$city[$i]]=1;
}
}
/*
class dataArr{
public $province;
public $numb;
}
foreach($array as $pro=>$pro_value) {
$alter=new dataArr();
$alter->province= $pro;
$alter->numb= $pro_value;
$data_Pro[]=$alter;
}
*/
echo json_encode($array);
/*
echo $array[' '];
echo '
';
echo $array[' '];
echo '
';
echo $array[' '];
*/
mysql_close($conn);
?>
2、ajaxを利用してjason形式の「ユーザー地区分布」情報を伝達する
ECharts
var datas;
function getusers() {
$.ajax({
type:"post",
async:false, //async
url:"http://127.0.0.1/getip/IpInfo.php",
data:{},
dataType:"json",
contentType: "application/x-www-form-urldecoded; charset=utf-8",
success:function(result){
datas=result;
//alert(datas[' ']);
},
error:function(errmsg) {
alert("Ajax "+errmsg);
}
});
}
getusers();
var chart = echarts.init(document.getElementById('main'));
chart.setOption({
title:{
text:' ',
subtext:'2017/07/03',
left:'center',
},
tooltip: {
trigger: 'item'
},
visualMap: {
min: 0,
max: 2500,
left: 'left',
top: 'bottom',
text: [' ',' '], // ,
calculable: true,
inRange: {
color: ['lightskyblue','yellow', 'orangered']
}
},
toolbox: {
show: true,
orient: 'vertical',
left: 'right',
top: 'top',
feature: {
dataView: {readOnly: false},
restore: {},
saveAsImage: {}
}
},
series: [{
name: ' ',
type: 'map',
map: 'china',
roam: false,
label: {
normal: {
show: true
},
emphasis: {
show: true
}
},
data:[
{name: ' ',value: datas[" "]},
{name: ' ',value: datas[" "]},
{name: ' ',value: datas[" "]},
{name: ' ',value: datas[" "]},
{name: ' ',value: datas[" "]},
{name: ' ',value: datas[" "]},
{name: ' ',value: datas[" "]},
{name: ' ',value: datas[" "]},
{name: ' ',value: datas[" "]},
{name: ' ',value: datas[" "]},
{name: ' ',value: datas[" "]},
{name: ' ',value: datas[" "]},
{name: ' ',value: datas[" "]},
{name: ' ',value: datas[" "]},
{name: ' ',value: datas[" "]},
{name: ' ',value: datas[" "]},
{name: ' ',value: datas[" "]},
{name: ' ',value: datas[" "]},
{name: ' ',value: datas[" "]},
{name: ' ',value: datas[" "]},
{name: ' ',value: datas[" "]},
{name: ' ',value: datas[" "]},
{name: ' ',value: datas[" "]},
{name: ' ',value: datas[" "]},
{name: ' ',value: datas[" "]},
{name: ' ',value: datas[" "]},
{name: ' ',value: datas[" "]},
{name: ' ',value: datas[" "]},
{name: ' ',value: datas[" "]},
{name: ' ',value: datas[" "]},
{name: ' ',value: datas[" "]},
{name: ' ',value: datas[" "]},
{name: ' ',value: datas[" "]},
{name: ' ',value: datas[" "]},
{name: ' ',value: datas[" "]}
]
}]
});