当前位置: 首页 > news >正文

php 热点,PHP+jQuery实现中国地图热点数据统计展示效果

一款PHP+jQuery实现的中国地图热点数据统计展示实例,当鼠标滑动到地图指定省份区域,在弹出的提示框中显示对应省份的数据信息。

64af7c5d7517f9889d86726eac9181e9.png

首先在页面中加一个div#tip,用来展示地图信息的提示框和#map用来生成地图。

接着我们引入jQuery库、raphael.js及chinamapPath.js(中国地图数据)

通过调用raphael绘制出中国地图,然后载入统计数据,由于地图区块小,我们不在地图载入的时候就将数据显示在地图区块上了,我们通过鼠标交互实现将数据信息更好的展示给用户。

当鼠标滑向省份区块时,通过e.clientX和e.clientY定位鼠标坐标,然后通过jquery的css()方法定位提示框div#tip,并且将对应省份的的名称和活跃用户数加到提示框里并展现出来,代码如下:$(function() {

$.get("json.php",

function(json) {

var data = string2Array(json);

var flag;

var arr = new Array();

for (var i = 0; i 

var d = data[i];

if (d 

flag = 0;

} else if (d >= 100 && d 

flag = 1;

} else if (d >= 500 && d 

flag = 2;

} else if (d >= 2000 && d 

flag = 3;

} else if (d >= 5000 && d 

flag = 4;

} else {

flag = 5;

}

arr.push(flag);

}

var colors = ["#d7eef8", "#97d6f5", "#3fbeef", "#00a2e9", "#0084be", "#005c86"];

var R = Raphael("map", 600, 500);

//调用绘制地图方法

paintMap(R);

var i = 0;

for (var state in china) {

china[state]['path'].color = Raphael.getColor(0.9); (function(st, state) {

var prodata = data[i];

var fillcolor = colors[arr[i]];

st.attr({

fill: fillcolor

}); //填充背景色

xOffset = 70;

yOffset = 180;

st.hover(function(e) {

st.animate({

fill: "#fdd",

stroke: "#eee"

}, 500);

R.safari();

$("#tip").css({

"top": (e.clientY - xOffset) + "px",

"left": (e.clientX - yOffset) + "px"

}).fadeIn("fast").html("

" + china[state]['name'] + "

活跃用户数:" + prodata + "

");

},

function() {

st.animate({

fill: fillcolor,

stroke: "#eee"

},500);

R.safari();

$("#tip").hide();

});

st.mousemove(function(e) {

$("#tip").css({

"top": (e.clientY - xOffset) + "px",

"left": (e.clientX - yOffset) + "px"

});

R.safari();

});

})(china[state]['path'], state);

i++;

}

});

});

function string2Array(string) {

eval("var result = " + decodeURI(string));

return result;

}

以上就是PHP+jQuery实现中国地图热点数据统计展示效果的详细内容,希望对大家有所帮助。

相关文章:

  • phpspy.php,一款php后门 phpspy的情况
  • Appium 之处理首次启动手机App时的系统权限弹框
  • 体对角线 matlab,Matlab计算结果显示求不出精确解
  • 数据库ACID操作---事务四原则
  • php html转pdf 简书,Laravel Html 导出 PDF 方案 ----- wkhtmltopdf laravel-snappy
  • aps.net的身份证背景图片
  • matlab怎么画lnx图像,inx图像(lnx的图像函数)
  • matlab计算结果中特别长,matlab运算结果太长Output truncated. Text exceeds maximum line length o......
  • java之注解
  • php 参数 过滤 类,参数过滤类
  • 还是畅通工程(HDU 1233)
  • mysql多表查询基础命令,MySql多表查询命令
  • B - Battle City bfs+优先队列
  • python中使用关键字声明一个函数,Python函数的说明与运用
  • BZOJ 3787 Gty的文艺妹子序列(分块+树状数组+前缀和)
  • [译] React v16.8: 含有Hooks的版本
  • el-input获取焦点 input输入框为空时高亮 el-input值非法时
  • js继承的实现方法
  • MySQL QA
  • Perseus-BERT——业内性能极致优化的BERT训练方案
  • ucore操作系统实验笔记 - 重新理解中断
  • VuePress 静态网站生成
  • 关于List、List?、ListObject的区别
  • 看图轻松理解数据结构与算法系列(基于数组的栈)
  • 聊聊flink的TableFactory
  • 推荐一个React的管理后台框架
  • 微服务框架lagom
  • 温故知新之javascript面向对象
  • 硬币翻转问题,区间操作
  • 用简单代码看卷积组块发展
  • - 转 Ext2.0 form使用实例
  • 交换综合实验一
  • ​如何防止网络攻击?
  • # 学号 2017-2018-20172309 《程序设计与数据结构》实验三报告
  • (4)STL算法之比较
  • (ZT)薛涌:谈贫说富
  • (附源码)node.js知识分享网站 毕业设计 202038
  • (附源码)springboot家庭财务分析系统 毕业设计641323
  • (力扣)循环队列的实现与详解(C语言)
  • (顺序)容器的好伴侣 --- 容器适配器
  • (推荐)叮当——中文语音对话机器人
  • (转)EXC_BREAKPOINT僵尸错误
  • (最全解法)输入一个整数,输出该数二进制表示中1的个数。
  • ./configure、make、make install 命令
  • .bat批处理(三):变量声明、设置、拼接、截取
  • .helper勒索病毒的最新威胁:如何恢复您的数据?
  • .NET Core 版本不支持的问题
  • .NET Remoting学习笔记(三)信道
  • .net 怎么循环得到数组里的值_关于js数组
  • .net 中viewstate的原理和使用
  • .NET/C# 在代码中测量代码执行耗时的建议(比较系统性能计数器和系统时间)...
  • .net中应用SQL缓存(实例使用)
  • [20150904]exp slow.txt
  • [AIGC] MySQL存储引擎详解
  • [ANT] 项目中应用ANT