php和jquery实现地图区域数据统计展示数据示例


Posted in PHP onFebruary 12, 2014

php和jquery实现地图区域数据统计展示数据示例

HTML

首先在head部分载入raphael.js库文件和chinamapPath.js路径信息文件,本文不重复写下,唯一不同的地方是需要在body中加一个div#tip,用来展示地图信息的提示框。

<div id="map"></div> 
<div id="tip"></div>

jQuery

通过调用raphael绘制出中国地图,然后载入统计数据,由于地图区块小,我们不在地图载入的时候就将数据显示在地图区块上了,我们通过鼠标交互实现将数据信息更好的展示给用户。当鼠标滑向省份区块时,通过e.pageX和e.pageY定位鼠标坐标,然后通过jquery的css()方法定位提示框div#tip,并且将对应省份的的名称和活跃用户数加到提示框里并展现出来,请看代码:

$(function(){ 
    $.get("json.php",function(json){     ......//这里省略代码若干 
    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.pageY-xOffset)+"px","left":(e.pageX-yOffset)+"px"}).fadeIn("fast") 
                .html("<h4>"+china[state]['name']+"</h4><p>活跃用户数:"+prodata+"</p>"); 
            },function(){//鼠标离开 
                st.animate({fill: fillcolor, stroke: "#eee"}, 500); 
                R.safari(); 
                $("#tip").hide(); 
            }); 
            st.mousemove(function(e){//鼠标移动 
                $("#tip").css({"top":(e.pageY-xOffset)+"px","left":(e.pageX-yOffset)+"px"}); 
                R.safari(); 
            }); 
         })(china[state]['path'], state); 
         i++; 
    } 
    }); 
});

以上代码可以看出,通过jQuery的hover()鼠标滑向省份区块时,调用弹出提示框,并将数据载入显示在提示框中,而值得关注的是,我们还需要加一个效果,就是鼠标在省份区块上移动mousemove()的时候,也应该调用提示框跟随鼠标一起移动,否则的话当鼠标在一个省份区块内滑动的话提示框位置不会变化,这样会影响体验效果,小小的改动可以提升用户体验。
最后,如果您需要定制提示框的效果的话,可以设置提示框的CSS样式,本例简单的CSS代码如下:

#tip{position:absolute; width:180px; border:1px solid #d3d3d3; background:#fff;display:none; 
-moz-border-radius:5px; -webkit-border-radius:5px; overflow:hidden; border-radius:5px; 
-moz-box-shadow:1px 1px 2px rgba(0,0,0,.2); -webkit-box-shadow:1px 1px 2px rgba(0,0,0,.2);  
box-shadow:1px 1px 2px rgba(0,0,0,.2);} 
#tip h4{height:28px; line-height:28px; padding-left:6px; background:#f0f0f0} 
#tip p{line-height:24px; padding:2px 4px}
PHP 相关文章推荐
基于mysql的论坛(3)
Oct 09 PHP
PHP字符转义相关函数小结(php下的转义字符串)
Apr 12 PHP
ajax php 实现写入数据库
Sep 02 PHP
PHP正确配置mysql(apache环境)
Aug 28 PHP
探讨php define()函数及defined()函数使用详解
Jun 09 PHP
实用的PHP带公钥加密类分享(每次加密结果都不一样哦)
Aug 20 PHP
浅析php工厂模式
Nov 25 PHP
php随机获取金山词霸每日一句的方法
Jul 09 PHP
ThinkPHP模板Volist标签嵌套循环输出多维数组的方法
Mar 23 PHP
阿里云的WindowsServer2016上部署php+apache
Jul 17 PHP
PHP ElasticSearch做搜索实例讲解
Feb 05 PHP
php设计模式之状态模式实例分析【星际争霸游戏案例】
Mar 26 PHP
php中的路径问题与set_include_path使用介绍
Feb 11 #PHP
php 不使用js实现页面跳转
Feb 11 #PHP
简单的php中文转拼音的实现代码
Feb 11 #PHP
PHP字符串的递增和递减示例介绍
Feb 11 #PHP
thinkphp3查询mssql数据库乱码解决方法分享
Feb 11 #PHP
php发送post请求的三种方法
Feb 11 #PHP
codeigniter教程之多文件上传使用示例
Feb 11 #PHP
You might like
php中文本数据翻页(留言本翻页)
2006/10/09 PHP
PHP一些有意思的小区别
2006/12/06 PHP
Ajax提交表单时验证码自动验证 php后端验证码检测
2016/07/20 PHP
PHP对称加密算法(DES/AES)类的实现代码
2017/11/14 PHP
Javascript 跨域访问解决方案
2009/02/14 Javascript
js封装的textarea操作方法集合(兼容很好)
2010/11/16 Javascript
JQuery文本框高亮显示插件代码
2011/04/02 Javascript
Javascript 鼠标移动上去小三角形滑块缓慢跟随效果
2013/04/26 Javascript
Bootstrap3制作自己的导航栏
2016/05/12 Javascript
用JS写的一个Ajax库(实例代码)
2016/08/06 Javascript
Javascript设计模式之装饰者模式详解篇
2017/01/17 Javascript
JS跳转手机站url的若干注意事项
2017/10/18 Javascript
ES6 javascript的异步操作实例详解
2017/10/30 Javascript
基于Node.js实现压缩和解压缩的方法
2018/02/13 Javascript
详解一个小实例理解js原型和继承
2019/04/24 Javascript
layui数据表格 table.render 报错的解决方法
2019/09/29 Javascript
vue组件系列之TagsInput详解
2020/05/14 Javascript
[54:30]Liquid vs Newbee 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/16 DOTA
代码分析Python地图坐标转换
2018/02/08 Python
Pandas之groupby( )用法笔记小结
2019/07/23 Python
OpenCV+face++实现实时人脸识别解锁功能
2019/08/28 Python
基于Python解密仿射密码
2019/10/21 Python
Python Scrapy框架:通用爬虫之CrawlSpider用法简单示例
2020/04/11 Python
Python爬虫防封ip的一些技巧
2020/08/06 Python
Python django框架 web端视频加密的实例详解
2020/11/20 Python
白兰氏健康Mall:BRAND’S
2017/11/13 全球购物
土耳其新趋势女装购物网站:Addax
2020/01/07 全球购物
设计毕业生简历中的自我评价
2013/10/01 职场文书
桥梁与隧道工程专业本科生求职信
2013/10/08 职场文书
好矿嫂事迹材料
2014/01/21 职场文书
法制宣传月活动方案
2014/05/11 职场文书
艺术学院毕业生自荐信
2014/07/05 职场文书
虎兄虎弟观后感
2015/06/12 职场文书
《当代神农氏》教学反思
2016/02/23 职场文书
Vue实现下拉加载更多
2021/05/09 Vue.js
如何使用Python实现一个简易的ORM模型
2021/05/12 Python