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 相关文章推荐
php程序效率优化的一些策略小结
Jul 17 PHP
php checkbox 取值详细说明
Aug 19 PHP
yii框架源码分析之创建controller代码
Jun 28 PHP
PHP中static关键字原理的学习研究分析
Jul 18 PHP
PHP中PDO基础教程 入门级
Sep 04 PHP
PHP中预定义的6种接口介绍
May 12 PHP
PHP中filter函数校验数据的方法详解
Jul 31 PHP
PHP数组去重比较快的实现方式
Jan 19 PHP
php实现的SSO单点登录系统接入功能示例分析
Oct 12 PHP
PHP经典实用正则表达式小结
May 04 PHP
PHP函数按引用传递参数及函数可选参数用法示例
Jun 04 PHP
PHP实现的抓取小说网站内容功能示例
Jun 27 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 str_pad 函数使用详解
2009/01/13 PHP
浅析php fwrite写入txt文件的时候用 \r\n不能换行的问题
2013/08/06 PHP
本地机apache配置基于域名的虚拟主机详解
2013/08/10 PHP
WampServer下安装多个版本的PHP、mysql、apache图文教程
2015/01/07 PHP
php安装扩展mysqli的实现步骤及报错解决办法
2017/09/23 PHP
用正则获取指定路径文件的名称
2007/02/27 Javascript
JavaScript 滚轮事件使用说明
2010/03/07 Javascript
Knockout text绑定DOM的使用方法
2013/11/15 Javascript
javascript 中__proto__和prototype详解
2014/11/25 Javascript
JS显示下拉列表框内全部元素的方法
2015/03/31 Javascript
js图片轮播手动切换特效
2017/01/12 Javascript
jQuery源码分析之sizzle选择器详解
2017/02/13 Javascript
微信小程序访问node.js接口服务器搭建教程
2017/04/25 Javascript
vue同步父子组件和异步父子组件的生命周期顺序问题
2018/10/07 Javascript
微信小程序之事件交互操作实例分析
2018/12/03 Javascript
原生js实现trigger方法示例代码
2019/05/22 Javascript
layui 数据表格+分页+搜索+checkbox+缓存选中项数据的方法
2019/09/21 Javascript
使用Python导出Excel图表以及导出为图片的方法
2015/11/07 Python
Python提取网页中超链接的方法
2016/09/18 Python
windows下python安装pip图文教程
2018/05/25 Python
mac下如何将python2.7改为python3
2018/07/13 Python
Python设计模式之简单工厂模式实例详解
2019/01/22 Python
Python3使用xml.dom.minidom和xml.etree模块儿解析xml文件封装函数的方法
2019/09/23 Python
python使用beautifulsoup4爬取酷狗音乐代码实例
2019/12/04 Python
pycharm 对代码做静态检查操作
2020/06/09 Python
萌新的HTML5 入门指南
2020/11/06 HTML / CSS
Marriott中国:万豪国际酒店查询预订
2016/09/02 全球购物
小天鹅官方商城:LittleSwan
2017/06/16 全球购物
时尚孕妇装:Ingrid & Isabel
2019/05/08 全球购物
你对IPv6了解程度
2016/02/09 面试题
物业消防安全责任书
2014/07/23 职场文书
学校领导班子对照检查材料
2014/08/28 职场文书
大学生实习证明范文(5篇)
2014/09/18 职场文书
一年级班主任工作总结2014
2014/11/08 职场文书
自荐信格式范文
2015/03/04 职场文书
Python提取PDF指定内容并生成新文件
2021/06/09 Python