echart——ip地区分布地图

阅读: 评论:0

echart——ip地区分布地图

echart——ip地区分布地图

利用Echart插件,实现用户IP自动绘制用户地区分布情况。

1、php解析ip数据

从mysql表取用户ip,调用新浪IP地址库解析得到对应地区,存到php数组:

    格式:array("江苏"=>"15","上海"=>"18"),表示用户在江苏分布数量为15。

<?php
header("Content-type=text/json;charset=UTF8");$conn = @mysql_connect("127.0.0.1","root","root") or die("无法连接数据库...");
mysql_query("set names UTF8");
mysql_select_db("identity",$conn);#query
$resultset = mysql_query('SELECT * FROM ipinfo ');
#mysql_query('delete from province');
$data = array();class Alteration{public $ipinfo;}while($row = mysql_fetch_array($resultset,MYSQL_ASSOC)) {$data[] = $row['ip']; }function getLocation($ip=''){//empty($ip) && $ip = getip();if($ip=="127.0.0.1") return "本机地址";$api = ".php?format=json&ip=$ip"; $json = @file_get_contents($api);//调用新浪IP地址库 $arr = json_decode($json,true);//解析json$country = $arr['country']; //取得国家$province = $arr['province'];//获取省份 $city = $arr['city']; //取得城市if((string)$country == "中国"){$_location=$province;      //把ip的省份赋给_location}else{$_location = $country;}return $_location;
}
//遍历ip字段得到各自的省份信息,存入city数组
$city = [];
for ($i = 0; $i < count($data); $i++){$city[$i] = getLocation($data[$i]);
}
$array=[];
//统计每个省份的用户数量存入array数组,array("江苏"=>"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 '<br/>';
echo $array['江苏'];
echo '<br/>';
echo $array['湖北'];*/
mysql_close($conn);?>

2、利用ajax传入jason格式的“用户地区分布”信息

<!DOCTYPE html>
<head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><!--自适应device-width设备宽度--><meta name="viewport" content="width=device-width, initial-scale=1,maximum-scale=1"><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><script src="127.0.0.1/echarts.js"></script><script src="127.0.0.1/echarts/china.js"></script><script src="127.0.0.1/jquery.min.js"></script><title>ECharts</title><style> </style> 
</head><body><div  id="main" style="height:600px;width:100%;border:1px solid black;"></div><script type="text/javascript">var datas;function getusers() {$.ajax({type:"post",async:false,    //async属性url:"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.ElementById('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["澳门"]} ]}]});
</script></body>


本文发布于:2024-02-01 22:05:25,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170679632439715.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:地图   地区   echart   ip
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23