天地图专题七:行政区域标记,热力图(以广西为例)

天地图方面的文章已很久不写。 主要是因为上一个项目结束,基本就不用天地图了。用百度地图的可能更大一些。

最近上个项目甲方想搞一个类似热力图,热点图的东西。在天地图API上没有找到类似的直接画热力图的接口,只好用了一些替代的方法。

天地图行政区域,行政区划直接接口也没找到,用边界点自己画。

琢磨了一阵。 记下来。有需要的可以参考 。

比如绘制广西省的热力图,实现思路很简单:给广西省每个城市行政区域涂上颜色。 根据热度不同,给每个城市涂的颜色加上不同的透明度。

先上效果图:

在天地图上根据坐标点绘制区域 有接口TPolygon。 可以调节颜色,透明度,边线什么的。

然后就是如何得到的这些行政区域边界点。说来惭愧,我是用很笨的方法:

到天地图代码示例那里:http://api.tianditu.com/api-new/examples.html,用他们的搜索接口去搜索一个省,城市,然后就可以用 浏览器工具 得到这个区域的边界坐标了。

核心代码:

[javascript] view plain copy

  1. //绘制边界,来自天地图demo.
  2. function drawArea(json,opacity){
  3. var area = json.area;
  4. var points = area.points;
  5. //如果有区域坐标信息,画出此行政区的多边形。
  6. if(points && points.length != 0){
  7. //面的线的样式
  8. var style = {
  9. strokeColor : "#0027eb",
  10. fillColor : "red",
  11. strokeWeight : 1,
  12. strokeOpacity : 0.000001,
  13. fillOpacity : opacity, //透明度,随机生成。
  14. strokeStyle : "dashed" //虚线
  15. }
  16. for(var i = 0;i < points.length;i++){
  17. var region = points[i].region;//单个面
  18. var pointArr = region.split(",");
  19. var pointsz = [];
  20. for(var j = 0;j < pointArr.length - 1;j++){
  21. var p = pointArr[j];
  22. var pArr = p.split(" ");
  23. var point = new TLngLat(pArr[0],pArr[1]);
  24. pointsz.push(point);
  25. }
  26. var poly = new TPolygon(pointsz,style);
  27. map.addOverLay(poly);
  28. }
  29. }
  30. }

[javascript] view plain copy

  1. var areaArr = [nanningArea,liuzhouArea,gunlinArea,wuzhouArea,beihaiArea,fangchenggangArea,qinzhouArea,guigangArea,yulinArea,baiseArea,hezhouArea,hechiArea,laibinArea,chongzuoArea,guilinArea];
  2. for (var i = 0,aLen = areaArr.length; i < aLen; i++) {
  3. drawArea(areaArr[i],getRandom(50)/100);
  4. };
  5. //生成随机正整数 1到n之间。
  6. function getRandom(n){
  7. return Math.floor(Math.random()*n+1)
  8. }

演示:

http://runningls.com/demos/tianditu/index.html?to=loadgx

注意:1.边界值放大了看会有一些不重合的地方。补救方法是限制天地图绽放级别。     2.随机不透明度不要设太高,不然视觉效果不好。上面的图是最高不透明度0.5的效果。

有更好的建议欢迎留言交流。

转载注明出处:http://blog.csdn.net/liusaint1992/article/details/50531015

时间: 2024-10-15 06:11:38

天地图专题七:行政区域标记,热力图(以广西为例)的相关文章

开发指南专题七:JEECG微云快速开发平台查询HQL过滤器

开始学习wxWidgets,上一篇写了"安装wxWidgets遭遇的两大关卡"(简称"前文"). 先推荐一下这两天找到的学习材料. 博客中有一个系列教程,貌似作者没有写完,见<跟我学wxWidgets开发>系列教程. 要看书,就<使用wxWidgets进行跨平台程序开发>.我给的链接中,包括中书中的源码.这本书,是<Cross Platform GUI Programming With wxWidget>的中译本,译本中没有附录部

[.NET领域驱动设计实战系列]专题七:DDD实践案例:引入事件驱动与中间件机制来实现后台管理功能

一.引言 在当前的电子商务平台中,用户下完订单之后,然后店家会在后台看到客户下的订单,然后店家可以对客户的订单进行发货操作.此时客户会在自己的订单状态看到店家已经发货.从上面的业务逻辑可以看出,当用户下完订单之后,店家或管理员可以对客户订单进行跟踪和操作.上一专题我们已经实现创建订单的功能,则接下来自然就是后台管理功能的实现了.所以在这一专题中将详细介绍如何在网上书店案例中实现后台管理功能. 二.后台管理中的权限管理的实现 后台管理中,首先需要实现的自然就是权限管理了,因为要进行商品管理等操作的

[C# 网络编程系列]专题七:UDP编程补充——UDP广播程序的实现

上次因为时间的关系,所以把上一个专题遗留下的一个问题在本专题中和大家分享下,本专题主要介绍下如何实现UDP广播的程序,下面就直接介绍实现过程和代码以及运行的结果. 一.程序实现 UDP广播程序的实现代码: [csharp] view plain copy print? using System; using System.Net; using System.Net.Sockets; using System.Text; using System.Threading; using System.W

[kuangbin带你飞]专题七 线段树

A - 敌兵布阵 HDU - 1166 C国的死对头A国这段时间正在进行军事演习,所以C国间谍头子Derek和他手下Tidy又开始忙乎了.A国在海岸线沿直线布置了N个工兵营地,Derek和Tidy的任务就是要监视这些工兵营地的活动情况.由于采取了某种先进的监测手段,所以每个工兵营地的人数C国都掌握的一清二楚,每个工兵营地的人数都有可能发生变动,可能增加或减少若干人手,但这些都逃不过C国的监视. 中央情报局要研究敌人究竟演习什么战术,所以Tidy要随时向Derek汇报某一段连续的工兵营地一共有多少

【算法系列学习】线段树vs树状数组 单点修改,区间查询 [kuangbin带你飞]专题七 线段树 A - 敌兵布阵

https://vjudge.net/contest/66989#problem/A 单点修改,区间查询 方法一:线段树 http://www.cnblogs.com/kuangbin/archive/2011/08/15/2139834.html 1 #include<iostream> 2 #include<cstdio> 3 #include<string> 4 #include<cstring> 5 #include<cmath> 6 #

kuangbin专题七、线段树

题意:线段树,单点更新,区间查询 1 #include<cstdio> 2 #include<cstring> 3 #include<algorithm> 4 #include<cmath> 5 using namespace std; 6 7 const int maxn=5e4+5; 8 int sum[maxn*4]; //sum求和,开四倍空间 9 int num[maxn]; //存原数组下标[1,n] 10 11 //up更新节点信息,这里是求和

kuangbin专题七 HDU1754 I Hate It (单点修改维护最大值)

很多学校流行一种比较的习惯.老师们很喜欢询问,从某某到某某当中,分数最高的是多少. 这让很多学生很反感. 不管你喜不喜欢,现在需要你做的是,就是按照老师的要求,写一个程序,模拟老师的询问.当然,老师有时候需要更新某位同学的成绩. Input本题目包含多组测试,请处理到文件结束. 在每个测试的第一行,有两个正整数 N 和 M ( 0<N<=200000,0<M<5000 ),分别代表学生的数目和操作的数目. 学生ID编号分别从1编到N. 第二行包含N个整数,代表这N个学生的初始成绩,

kuangbin专题七 HDU1698 Just a Hook (set线段树)

In the game of DotA, Pudge’s meat hook is actually the most horrible thing for most of the heroes. The hook is made up of several consecutive metallic sticks which are of the same length. Now Pudge wants to do some operations on the hook. Let us numb

kuangbin专题七 HDU1540 Tunnel Warfare (前缀后缀线段树)

During the War of Resistance Against Japan, tunnel warfare was carried out extensively in the vast areas of north China Plain. Generally speaking, villages connected by tunnels lay in a line. Except the two at the ends, every village was directly con