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 相关文章推荐
Search Engine Friendly的URL设计
Oct 09 PHP
使用PHP获取网络文件的实现代码
Jan 01 PHP
PHP Error与Logging函数的深入理解
Jun 03 PHP
PHP设置图片文件上传大小的具体实现方法
Oct 11 PHP
PHP 提取图片img标记中的任意属性的简单实例
Dec 10 PHP
php无限遍历文件夹示例分享
Mar 04 PHP
yii框架配置默认controller和action示例
Apr 30 PHP
php实现的太平洋时间和北京时间互转的自定义函数分享
Aug 19 PHP
php实现图片局部打马赛克的方法
Feb 11 PHP
PHP PDOStatement::fetch讲解
Jan 31 PHP
php实现session共享的实例方法
Sep 19 PHP
解决Laravel无法使用COOKIE和SESSION的问题
Oct 16 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
模板引擎正则表达式调试小技巧
2011/07/20 PHP
php连接函数implode与分割explode的深入解析
2013/06/26 PHP
PHP通过插入mysql数据来实现多机互锁实例
2014/11/05 PHP
php将图片文件转换成二进制输出的方法
2015/06/10 PHP
tp5框架内使用tp3.2分页的方法分析
2019/05/05 PHP
php设计模式之观察者模式定义与用法经典示例
2019/09/19 PHP
经典的解除许多网站无法复制文字的绝招
2006/12/31 Javascript
Javascript类定义语法,私有成员、受保护成员、静态成员等介绍
2011/12/08 Javascript
JavaScript弹出新窗口并控制窗口移动到指定位置的方法
2015/04/06 Javascript
JS实现点击复选框将按钮或文本框变为灰色不可用的方法
2015/08/11 Javascript
获取IE浏览器Cookie信息的方法
2017/01/23 Javascript
详解Vue 动态添加模板的几种方法
2017/04/25 Javascript
bootstrap-table组合表头的实现方法
2017/09/07 Javascript
JS实现合并json对象的方法
2017/10/10 Javascript
VUE解决 v-html不能触发点击事件的问题
2019/10/28 Javascript
[00:33]2016完美“圣”典风云人物:Sccc宣传片
2016/12/03 DOTA
Python读取图片EXIF信息类库介绍和使用实例
2014/07/10 Python
python实现批量图片格式转换
2020/06/16 Python
用Python将结果保存为xlsx的方法
2019/01/28 Python
python 多个参数不为空校验方法
2019/02/14 Python
使用PyQtGraph绘制精美的股票行情K线图的示例代码
2019/03/14 Python
python操作docx写入内容,并控制文本的字体颜色
2020/02/13 Python
python字典和json.dumps()的遇到的坑分析
2020/03/11 Python
Python安装并操作redis实现流程详解
2020/10/13 Python
美国排名第一的泳池用品直接来源:In The Swim
2019/09/23 全球购物
中专毕业生自我鉴定
2014/02/02 职场文书
《蝙蝠和雷达》教学反思
2014/04/23 职场文书
单位承诺书格式
2014/05/21 职场文书
开学典礼策划方案
2014/05/28 职场文书
2014公安机关纪律作风整顿思想汇报
2014/09/13 职场文书
奖学金感谢信
2015/01/21 职场文书
2015年文员个人工作总结
2015/04/09 职场文书
2015年政府采购工作总结
2015/05/21 职场文书
工程主管竞聘书
2015/09/15 职场文书
初中思品教学反思
2016/02/20 职场文书
前端vue+express实现文件的上传下载示例
2022/02/18 Vue.js