<!DOCTYPE html>
<html>
<head >
<meta charset="utf-8">
<script src="../../js/jquery-1.9.1.min.js"></script>
<script src="../../js/highmaps/highmaps.js"></script>
<script src="../../js/highmaps/drilldown.js"></script>
<script src="../../js/highmaps/exporting.js"></script>
</head> <body>
<!--<div id="container" style="height:450px;"></div>-->
<script type="text/javascript"> Highcharts.setOptions({
lang: {
drillUpText: '< 返回 “{series.name}”'
}
});
var map = null,
// geochina = 'https://data.jianshukeji.com/jsonp?filename=geochina/';
// $.getJSON(geochina + 'china.json&callback=?', function(mapdata) {//中国//https://jshare.com.cn/highmaps/FSSm7A //https://data.jianshukeji.com/
// geochina = 'http://192.168.0.62:8082/';
geochina = 'http://192.168.0.62:8082/jsonp/geo?filename=';
$.getJSON(geochina + 'zhejiang.json&callback=?', function(mapdata) {//浙江
//地图数据 https://data.jianshukeji.com/jsonp?filename=geochina/zhejiang/hangzhou.json
//地图数据 https://data.jianshukeji.com/jsonp?filename=geochina/zhejiang.json
var data = [];
// 随机数据
Highcharts.each(mapdata.features, function(md, index) {
var tmp = {
name: md.properties.name,
value: Math.floor((Math.random() * 100) + 1) // 生成 1 ~ 100 随机值
};
if(md.properties.drilldown) {
tmp.drilldown = md.properties.drilldown;
}
data.push(tmp);
});
map = new Highcharts.Map('container', {
chart: {
events: {
drilldown: function(e) {
this.tooltip.hide();
console.log(e);
// 异步下钻
if (e.point.drilldown) {
var pointName = e.point.properties.fullname;
map.showLoading('下钻中,请稍后...');
// 获取二级行政地区数据并更新图表
console.dir(geochina);
$.getJSON(geochina + e.point.drilldown + '.json&callback=?', function(data) {
// $.getJSON(url, function(data) {
data = Highcharts.geojson(data);
Highcharts.each(data, function(d) {
if(d.properties.drilldown) {
d.drilldown = d.properties.drilldown;
}
d.value = Math.floor((Math.random() * 100) + 1); // 生成 1 ~ 100 随机值
});
map.hideLoading();
map.addSeriesAsDrilldown(e.point, {
name: e.point.name,
data: data,
dataLabels: {
enabled: true,
format: '{point.name}'
}
});
map.setTitle({
text: pointName
});
});
}
},
drillup: function() {
map.setTitle({
text: '浙江省'
});
}
}
},
title: {
text: '浙江省'
},
subtitle: {
useHTML: true,
// text: '点击查看 <a href="https://www.hcharts.cn/mapdata" target="_blank">地图数据及详情</a>,注意县级数据为收费数据,如果您有需要,请 <a href="https://highcharts.com.cn/data" target="_blank">联系我们购买</a>'
},
mapNavigation: {
enabled: true,
buttonOptions: {
verticalAlign: 'bottom'
}
},
tooltip: {
useHTML: true,
headerFormat: '<table><tr><td>{point.name}</td></tr>',
pointFormat: '<tr><td>全称</td><td>{point.properties.fullname}</td></tr>' +
'<tr><td>行政编号</td><td>{point.properties.areacode}</td></tr>' +
'<tr><td>父级</td><td>{point.properties.parent}</td></tr>' +
'<tr><td>经纬度</td><td>{point.properties.longitude},{point.properties.latitude}</td></tr>' ,
footerFormat: '</table>'
},
// colorAxis: {
// min: 0,
// minColor: '#fff',
// maxColor: '#006cee',
// labels:{
// style:{
// "color":"red","fontWeight":"bold"
// }
// }
// },
series: [{
data: data,
mapData: mapdata,
joinBy: 'name',
name: '浙江省',
states: {
hover: {
color: '#a4edba'
}
}
}]
});
});
</script>
<div id="container" style="height:850px;"></div> </body>
</html> 、、、、、、、、、、、、、、、、、、、、、 后端:
package com.hzunitech.platform.mvc.jsonp;

import com.hzunitech.platform.annotation.Controller;
import com.hzunitech.platform.mvc.base.BaseController;
import com.jfinal.log.Log; @Controller("/jsonp")
public class JsonpController extends BaseController { @SuppressWarnings("unused")
private static final Log log = Log.getLog(JsonpController.class); public void index() {
// 客户端请求参数,js函数名称
String jsonpCallback = getPara("callback"); // json数据
String json = "{'content':'我是远程b.com/remote.js带来的数据'}"; // 返回jsonp格式数据
//jquery定义了名为jsonpCallback的js函数,在渲染返回的javascript text时执行了该函数,并将数据结果作为参数传入该js函数
renderJavascript(jsonpCallback + "(" + json + ");");
} public void geo() {
// 客户端请求参数,js函数名称
String jsonpCallback = getPara("callback");
log.info(jsonpCallback);
System.out.println(jsonpCallback); // json数据
String json = "{'content':'我是远程b.com/remote.js带来的数据'}"; // 返回jsonp格式数据
renderJavascript(jsonpCallback + "(" + json + ");");
} }
												

最新文章

  1. The specified module could not be found
  2. Unity-Animator在Editor状态下的单个/批量预览工具
  3. BZOJ3329 Xorequ(数位DP)
  4. 如何将无线路由器作为交换机,将光猫(路由器A)分出来的一条网线接到自家另一台路由器B上,最大化利用网络资源
  5. 多线程面试题(Google)
  6. 学SpringMVC
  7. 史上最全的JFinal源码分析(不间断更新)
  8. Qwt 编译 配置 使用
  9. 全球排名第一的免费开源ERP Odoo 12产品上海发布会报名开始
  10. Luogu P3975 [TJOI2015]弦论
  11. 用GraphX分析伴生网络(一)
  12. [HDFS_1] HDFS 的概念和特性
  13. [转]Qt状态栏(statusbar)的使用
  14. ECSHOP后台登陆后一段时间不操作就超时的解决方法
  15. 解决Geoserver请求跨域的几种思路,第二种思路用过
  16. python使用WSGI接口实现简单网页
  17. SourceInsight自定义常用快捷键
  18. 使用VNC访问Windows桌面
  19. TensorFlow-卷积
  20. LeetCode - 463. Island Perimeter - O(MN)- (C++) - 解题报告

热门文章

  1. 网络请求框架---Volley
  2. 【转】可在广域网部署运行的即时通讯系统 -- GGTalk总览(附源码下载)
  3. CentOS源码编译安装Nginx
  4. Wpf 自定义控件(1)
  5. IntelliJ IDEA Mybatis Plugin 破解安装
  6. QT界面 理解QStyle和QStyleOption以及QStyleFactory
  7. php中Http请求方法和响应状态码整理教程
  8. PBOC联机交易中ARQC及ARPC的计算
  9. 【未完成】junit简单使用
  10. HDU 1075 What Are You Talking About (Trie)