hightmaps 按地图上显示的统计数据

    离extjs 至 easyui html5hightchars 再到hightmaps。Exjtseasyui很相似,extjs是重量级的,easyui轻量级的。比extjs容易上手。照着demo改就能够开发了。easyui入门demo见:easyui-demo,或者到官网http://www.jeasyui.com/;会了easyui开发,上手html5界面开发也很的快。大多类似的。到html5-demo界面开发 下载demo 然后把demo放到自己的web项目中或者訪问http://www.rgraph.net/docs/line.html。进一步使用hightchar也很容易,下载demo体验一下hightchar很方便地样例,理解hightchar,官网http://www.highcharts.com/或见hightchars-demo

以下介绍hightmap开发中国地图分布量,效果截图。



前台代码

China-map.jsp

引入包。初始化组件

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><base href="<%=basePath%>"><script type="text/javascript" src="js/jquery-1.8.2.min.js"></script><script src="js/highmaps.js"></script>
<script src="js/modules/exporting.js"></script>
<script src="js/china-data.js"></script><title>My JSP 'index.jsp' starting page</title><meta http-equiv="pragma" content="no-cache"><meta http-equiv="cache-control" content="no-cache"><meta http-equiv="expires" content="0">    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"><meta http-equiv="description" content="This is my page"><style type="text/css">#container {height: 700px; min-width: 310px; max-width: 800px; margin: 0 auto; 
}
.loading {margin-top: 10em;text-align: center;color: gray;
}</style><script type="text/javascript">$(function () {var data = [${data}];$('#container').highcharts('Map', {title : {text : 'xxx量统计'},subtitle : {text : '地区分布'},mapNavigation: {enabled: true,buttonOptions: {verticalAlign: 'bottom'}},colorAxis: {min: 0},series : [{data : data,mapData: Highcharts.maps['countries/china'],joinBy: 'hc-key',name: 'xxx分布',states: {hover: {color: '#BADA55'}},dataLabels: {enabled: true,format: '{point.name}'}}]});
});</script></head><body><div id="container"></div></body>
</html>

Action代码

package com.li72.action;import com.li72.dao.MapDao;
import com.opensymphony.xwork2.ActionSupport;/*** @author 一个简单的前后台交换 地图展示**/
public class MapAction extends ActionSupport{private static final long serialVersionUID = -5452039838295753607L;MapDao map= new MapDao();private String data;public String  chinaMap(){data = map.mkData();return SUCCESS;}public String getData() {return data;}public void setData(String data) {this.data = data;}
}

dao层,产生模拟数据。建议把地图做成通用的,仅仅要把数据源改变,就能够产生不同的按地区分布图。

package com.li72.dao;import java.util.HashMap;
import java.util.Map;
import java.util.Random;public class MapDao {/*** @return  依照地图的设定,对这些省市进行设值*/public String  mkData(){StringBuffer sb = new StringBuffer("");Map<String,String> myMap= new HashMap<String,String>(40);myMap.put("吉林省","cn-jl");        myMap.put("天津市","cn-tj");        myMap.put("安徽省","cn-ah");        myMap.put("山东省","cn-sd");        myMap.put("山西省","cn-sx");        myMap.put("新疆维吾尔自治区","cn-xj");myMap.put("河北省","cn-hb");        myMap.put("河南省","cn-he");        myMap.put("湖南省","cn-hn");        myMap.put("甘肃省","cn-gs");        myMap.put("福建省","cn-fj");        myMap.put("贵州省","cn-gz");        myMap.put("重庆市","cn-cq");        myMap.put("江苏省","cn-js");        myMap.put("湖北省","cn-hu");        myMap.put("内蒙古自治区","cn-nm");  myMap.put("广西壮族自治区","cn-gx"); myMap.put("黑龙江省","cn-hl");      myMap.put("云南省","cn-yn");        myMap.put("辽宁省","cn-ln");        myMap.put("香港特别行政区","cn-6668"); myMap.put("浙江省","cn-zj");        myMap.put("上海市","cn-sh");        myMap.put("北京市","cn-bj");        myMap.put("广东省","cn-gd");        myMap.put("澳门特别行政区","cn-3681"); myMap.put("西藏自治区","cn-xz");    myMap.put("陕西省","cn-sa");        myMap.put("四川省","cn-sc");        myMap.put("海南省","cn-ha");        myMap.put("宁夏回族自治区","cn-nx"); myMap.put("青海省","cn-qh");        myMap.put("江西省","cn-jx");        myMap.put("台湾省","tw-tw");        //  {"hc-key": "cn-sh","value": 0},Random random = new Random();String value="";for (Object o : myMap.keySet()) { value= random.nextInt(100)+1+"" ;sb.append("{'hc-key':'").append(myMap.get(o)).append("','value':").append(value).append("},").append("\n");;}return  sb.deleteCharAt(sb.length()-1)+"";}
Struts2配置
<package name="li72" extends="struts-default">
<action name="chinaMap" class="com.li72.action.MapAction" method="chinaMap">
<result name="success">/china-map.jsp</result>
</action>
</package>

 下载地图开发实例,包含地图数据,包含其它的example 


地图开发代码

版权声明:本文博主原创文章,博客,未经同意不得转载。

转载于:https://www.cnblogs.com/bhlsheji/p/4811338.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/397498.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

非IT人士的云栖酱油之行 (程序猿迷妹的云栖之行)

摘要&#xff1a; 熟悉我的人都知道&#xff0c;我是一个贪玩儿且不学无术的姑娘&#xff0c;对于互联网我也是知之甚少&#xff1b;这次去到杭州参加阿里巴巴集团主办的为期4天的科技大会也是很例外&#xff1b;但是不得不说这次的会议真是让我很震惊。今天我就和大家分享一下…

搭建基于Jenkins的CI服务器

安装Jenkins和创建任务这些操作网上一搜一大把&#xff0c;这里就没必要写了&#xff0c;直接就开始编译、单元测试&#xff0c;覆盖&#xff0c;git提交触发构建&#xff0c;构建失败发送给提交人邮件。 因为项目比较复杂&#xff0c;为了懒省事我直接在CI服务器上安装了visua…

BZOJ 1270: [BeijingWc2008]雷涛的小猫( dp )

简单的dp..dp(i,j) max(dp(x,y))cnt[i][j], (x,y)->(i,j)是合法路径.设f(i) max(dp(x,y))(1≤x≤N, 1≤y≤i), g(i,j) max(dp(i, k))(1≤k≤j)那么dp(i,j) max(f(jdelta), g(i,j1))cnt[i][j]. 递推即可. 时间复杂度O(NH)----------------------------------------------…

POJ 1141

题意&#xff1a;给出一个表达式的子序列&#xff0c;要你填充这个序列&#xff0c;保证最终形成的序列长度最短&#xff0c;也就是添加的括号最少 这个子序列要遵循括号匹配的原则。 分析&#xff1a;转移方程dp[i][j]min(dp[i][k],dp[k1][j]).i<k<j.dp[1][1]1; dp[i][j…

java中的NAN和INFINITY

2019独角兽企业重金招聘Python工程师标准>>> java浮点数运算中有两个特殊的情况&#xff1a;NAN、INFINITY。 1、INFINITY&#xff1a; 在浮点数运算时&#xff0c;有时我们会遇到除数为0的情况&#xff0c;那java是如何解决的呢&#xff1f; 我们知道&#xff0c;在…

Troubleshooting(三):网络

2019独角兽企业重金招聘Python工程师标准>>> 前言 在 Troubleshooting 过程中&#xff0c;检查完进程信息后&#xff0c;接下来就是排查网络情况的时候了&#xff0c;初略翻过《TCP/IP 详解卷一&#xff1a;协议》这本书&#xff0c;简直跟看《深入理解 Linux 内核》…

SqlServer 备份还原教程

看了众多教程&#xff0c;自己也写个增强记忆&#xff0c;错误地方麻烦指出。 ———————————————————————-备份——————————————————————– 1.打开数据库&#xff0c;成功连接 2.找到要备份的数据库&#xff0c;图中演示备份数据库te…

深入理解计算机系统----读书笔记

第二部分 信息的表示和处理 信息存储&#xff1a; 二进制&#xff08;0101001&#xff09;&#xff0c; 八进制&#xff0c;十六进制&#xff08;0x32FD&#xff09; 字&#xff08;word size&#xff09;指明整数和指针数据的标称大小&#xff08;normal size&#xff09;&…

OpenStack-Zun 使用

Zun组件简介 Zun是Openstack中提供容器管理服务的组件&#xff0c;于2016年6月建立。Zun的目标是提供统一的Openstack API用于启动和管理容器&#xff0c;支持多种容器技术。Zun原来称为Higgins&#xff0c;后改名为Zun。 Zun计划支持多种容器技术&#xff0c;Docker&#xff0…

js进阶 14-8 表单序列化函数serializeArray()和serialize()的区别是什么

js进阶 14-8 表单序列化函数serializeArray()和serialize()的区别是什么 一、总结 一句话总结&#xff1a;两者都是对表单进行序列化&#xff0c;serializeArray()返回的是json对象&#xff0c;serialize()返回的是json形式的字符串&#xff0c;使用起来都是一样的 1、$&#x…

linux 7.2中文命令,CentOS7如何支持中文显示

1.查看系统是否安装有中文语言包locale -a | grep "zh_CN" 命令含义&#xff1a;列出所有可用的公共语言环境的名称&#xff0c;包含有"zh_CN"若出现图中所示几项&#xff0c;那么说明系统中已经安装了语言包&#xff0c;不需要在安装。含义是&#xff1a;…

别人7天乐,运维还苦逼值班?

你被点名值班了吗&#xff1f;或者你的朋友、隔壁七大姑八大姨的侄子被点名值班了吗&#xff1f; 国庆将至&#xff0c;大家都开始研究各种度假攻略了&#xff0c;国内游、国外游、地球游、外星游。。。然而总有一票人&#xff0c;默默地职守着 -- tIT 公司运营支撑组/运维组。…

【常用损失函数】

一、Smooth L1 Loss 1.公式&#xff1a; 2.原因&#xff1a; L1损失使权值稀疏但是导数不连续&#xff0c;L2损失导数连续可以防止过拟合但对噪声不够鲁棒&#xff0c;分段结合两者优势。 二、Focal Loss 1.公式&#xff1a; 2.作用&#xff1a; 使得正负样本平衡的同时&#x…

linux 读取内存颗粒,linux查看主板内存槽与内存信息的命令dmidecode怎么用

在Linux中&#xff0c;我们常常使用命令来实现许多操作&#xff0c;比如查看内存信息等&#xff0c;下面小编就为大家带来一篇linux查看主板内存槽与内存信息的命令dmidecode方法。小编觉得挺不错的&#xff0c;现在就分享给大家&#xff0c;也给大家做个参考。一起跟随小编过来…

Java对象容器——List

为什么80%的码农都做不了架构师&#xff1f;>>> 在Java中&#xff0c;我们可以用数组来存放同类型的变量或对象&#xff0c;但是数组有一个缺陷&#xff0c;它的长度不可变&#xff0c;必须在定义时给定其长度&#xff0c;所以说在一些场合下不适用。例如我们要存放…

STL学习笔记(数值算法)

运用数值算法之前必须先加入头文件<numeric> 加工运算后产生结果 1.对序列进行某种运算 T accumulate(InputIterator beg,InputIterator end, T initValue) T accumulate(InputIterator beg,InputIterator end, T initValue,BinaryFunc op) 1.第一种形式计算InitValue和…

angualejs

为什么80%的码农都做不了架构师&#xff1f;>>> http://segmentfault.com/a/1190000000347412 http://www.xker.com/page/e2015/06/199141.html http://www.runoob.com/angularjs/angularjs-application.html http://blog.csdn.net/lglgsy456/article/details/3690…

SPOJ SORTBIT Sorted bit squence (数位DP,入门)

题意&#xff1a; 给出一个范围[m,n]&#xff0c;按照二进制表示中的1的个数从小到大排序&#xff0c;若1的个数相同&#xff0c;则按照十进制大小排序。求排序后的第k个数。注意&#xff1a;m*n>0。 思路&#xff1a; 也是看论文的。一开始也能想到是这种解法&#xff0c;枚…

mysql日志(介绍 路径修改 备份)

2019独角兽企业重金招聘Python工程师标准>>> 环境&#xff1a;senos6 软件&#xff1a;mysql2.6.20 mysql日志&#xff1a; 错误日志 一般查询日志 慢查询日志 二进制日志 只记录DDL&#xff0c;DML等引起数据库改变的操作都会记录下来 复制&am…

Algorithm I assignment Collinear

这本来应该是第三周的作业&#xff0c;但是由于其他作业逼近deadline&#xff0c;暂时推后了一周完成。 这周的assignment大大提高了我对这门课的看法&#xff0c;不得不说&#xff0c;Algorithms这门课的assignment部分设计得很好。为什么好&#xff1f;个人认为有以下几点&am…