开发者社区> 技术小阿哥> 正文

FineReport中如何用JavaScript自定义地图标签

简介:
+关注继续查看

在日常使用地图过程中,通常会遇到地图标签,提示点等显示不满足我们的需求,需要进行JavaScript代码编写。

例如:在使用地图过程中,会发现很多地名显示的位置偏离。这时候就需要使用JavaScript进行调控。以黑龙江和内蒙古为例,来介绍下如何在FineReport中利用JavaScript自定义地图标签。

新建地图

以区域地图为例,新建表单,拖入地图(新特性)组件,地图边界选择区域地图下的中国(省级):

wKiom1is9nzyABT-AAApJQfm_1Q077.png

数据准备

新建工作簿,添加数据集ds1,SELECT*FROM地图1,选中图表,选择图表属性表-数据,如下图所示:

wKiom1is9oeTdNMOAAAjXyR3Fgw245.png

选择图表属性表-样式>系列,如下图设置,边框设为蓝色:

wKioL1is9pPRfdGIAAAtfC6hiFw766.png

自定义JS显示标签

选择图表属性表-样式>标签,内容选择自定义,JS如下:

wKiom1is9qDD1cpwAAAxgbrbSJw389.png

1
2
3
4
5
6
7
8
9
10
function(){ var points = this.points;
var total = '<div style="width:100%;height:100%;">';
if(this.name=="内蒙古自治区")
{total += '<div style="margin-top:30px"><span style="font-size:25px;color:'+FR.contentFormat(points[1].value, '')+'">' +FR.contentFormat(points[2].value, '#0.00')+'</span>'+this.name+'</div>';}
else if(this.name=="黑龙江省")
{total += '<div style="margin-top:100px;"><span style="font-size:25px;color:'+FR.contentFormat(points[1].value, '')+'">'+ FR.contentFormat(points[2].value, '#0.00')+'</span>'+this.name+'</div>';}
else{total += '<div ><span style="font-size:25px;color:'+FR.contentFormat(points[1].value, '')+'">'+FR.contentFormat(points[2].value, '#0.00')+'</span>'+this.name+'</div>';}
for(var i = 0, len = points.length-2; i < len; i++)
{total += ('<div  align=center>'+FR.contentFormat(points[i].value, '#0.00')+'</div>');}
total+='</div>'return total;}

div style="margin-top当读取名字为内蒙古自治区时候,我们进行margin显示位置的调整,使其不显示偏离

FR.contentFormat(value, '#.##%')行数值格式自定义,后面的'#.##%'可以根据实际需求进行更改;

this.points这个参数在地图中使用时表示同一个区域上的不同的系列的点

自定义JS显示提示点

选择图表属性表-样式>提示,内容选择自定义,JS如下:

wKioL1is9sOQJGdbAAAzQGfCLd0459.png

1
2
3
4
5
6
7
function(){var points = this.points ;
var total = '<div style="width:100%;
background-color:#808080;color:white">';
total +='<div style="font-size:16px">'+this.name+'</div>';
for(var i = 0, len = points.length-1; i < len; i++)
{total +='<div style="font-size:13px">●'+points[i].seriesName+':'+FR.contentFormat(points[i].value, '')+'</div>';}
return total;}

此处做一个简单的循环,循环展示我们前端设置的参数,并对参数做单独的处理,包括控制字体大小,以及显示格式。

保存与预览

调整后效果如下,标签位置正确,提示采用了自定义格式:

wKiom1is9tOR2myEAADar-ZoEOw685.png



本文转自 雄霸天下啦 51CTO博客,原文链接:http://blog.51cto.com/10549520/1900104,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
weex-自定义module,实现weex在iOS的本地化,js之间互相跳转,交互,传值(iOS接入weex的最佳方式)
weex-自定义module,实现weex在iOS的本地化,js之间互相跳转,交互,传值(iOS接入weex的最佳方式)
64 0
如使用原生js自定义右键菜单
如使用原生js自定义右键菜单
30 0
油猴脚本,批量采集页面数据复制,数据过长 JS弹出新页面 自定义html代码
油猴脚本,批量采集页面数据复制,数据过长 JS弹出新页面 自定义html代码
176 0
(巨好使,详细,解析URl,URl自定义传参)js URl中快速自定义传参,并且实现参数解析 修改 和新增,替换功能
我们在日常开发中经常会遇到要对url中的参数进行修改和新增,但是自己手动每次敲就会导致代码很麻烦,且不易维护
65 0
js获取当前时间日期,并将其格式化为YYYY-MM-DD,并且自定义返回
js获取当前时间日期,并将其格式化为YYYY-MM-DD,并且自定义返回
77 0
JS 时间戳转换、获取当前时间年月日、时间戳转日期时间 (自定义格式)等方法整理
JS 时间戳转换、获取当前时间年月日、时间戳转日期时间 (自定义格式)等方法整理
479 0
JavaScript基础——自定义对象
JavaScript基础——自定义对象
57 0
利用JS实现自定义输出多行多列五角星
利用JS实现自定义输出多行多列五角星
202 0
🔥JavaScript 自定义事件如此简单!
🔥JavaScript 自定义事件如此简单!
79 0
你是否有一个梦想?用JavaScript[vue.js、react.js......]开发一款自定义配置视频播放器
沉寂了一周了,打算把这几天的结果呈现给大家。这几天抽空就一直在搞一个自定义视频播放器,为什么会有如此想法?是因为之前看一些学习视频网站时,看到它们做的视频播放器非常Nice!于是,就打算抽空开发一款属于自己的视频播放器。话不多说,一起来实战吧!
86 0
文章
问答
文章排行榜
最热
最新
相关电子书
更多
Javascript中的函数
立即下载
Javascript异步编程
立即下载
JS零基础入门教程(上册)
立即下载