目录

附录:FLASH地图

本节对系统中自带的LFASH地图的属性和制作自定义FLASH地图的方法步骤进行介绍。

自定义FLASH地图

产品的统计图功能支持自定义FLASH地图。用户可以方便地设置在地图上显示的数据、热点等信息。

地图图源使用SVG矢量文件。产品中已经默认提供了包括中国以及各省、直辖市在内的地图可供用户直接使用。用户还可根据需要配置和使用自定义的SVG地图。

下面详细介绍如何设置地图、地图热点以及添加自定义地图。

选择自定义FLASH地图

【自定义FLASH地图】位于【特殊图】类别下,在报表中插入统计图时,可从该类别下选择使用:

注意:自定义FLASH地图无需进行【选风格】设置,选择该类型后即可跳过【选风格】的步骤而直接进入【选取数】。

选择地图和数据来源

在【选取数】界面下选择具体要使用哪个地理区域的地图。同时设置地图的数据来源,可以来源于当前报表的单元格:

地图区域设置

设置地图上各区域的具体显示信息,如下图。

其中地图区域是指地图上划分的各地理区块。例如以中国地图为例,上面的各省、直辖市就是地图中的区域。

各项区域设置的具体作用和定义方法如下:

超链接例子:mis2/vrsr/showReport1.jsp?resID=30013&svgName=@areaId&maparg1=@areaId&maparg2=@areaName&startTime=value(A1)&endTime=value(arg0)&encodeParamName=areaId,areaName,arg0

关于地图超链接的介绍可参见下一节“超链接及传参”

关于系统链接可参考:超链接管理

在设置地图时,作为地图数据来源的报表单元格通常必须是可扩展单元格,因此区域设置中对可扩展单元格的引用注意使用【单元格名称+{}】的格集书写形式。同时,报表中作为区域ID的单元格,必须是其它作为区域名称、区域值等单元格的主格。这样才能实现单元格数据与地图中区域的一一对应。

例如下图所示的例子中,报表A2单元格中的数据是区域ID,该单元格是扩展单元格,并且是其后B2-F2五个单元格的主格,在地图的区域设置中,即可设置区域ID=A2{},区域名称=B2{},区域值、区域标签、区域提示的设置依此类推:

地图热点设置

地图热点标记了地图中的特定作用区域,可以在热点上显示数据、设置超链接等。

例如下图所示的中国地图上,就定义了库尔勒、青岛等城市热点,鼠标如果悬停在热点上可以显示出数据,点击热点可以链接到显示该城市详细数据的报表中。


 

如果所使用地图的SVG文件中定义了热点,则可在【选取数】界面中进行地图热点的详细设置;如果地图SVG中未定义热点,则此处的设置无效。

热点设置界面见下图:

具体各项热点设置说明如下:

添加自定义地图

用户可以在产品中添加和使用自定义的地图。地图的图源使用SVG矢量图形文件。

可以从以下多种方式来获取需要的SVG地图:

注意:使用第三方SVG地图或者自己手动定义的自定义地图时,必须首先将SVG地图文件添加到产品应用的【\mis2\Charts\svg】目录下。

添加可选地图

可以将已经添加到产品应用的【\mis2\Charts\svg】目录下的自定义地图,进一步添加至统计图向导界面中的“选择地图”下拉列表中。

配置方法是通过配置文件【\mis2\flexdesigner\designer\config\GraphMapDefine.json】的"types"属性进行定义:

超链接url及js方法

超链接书写规则

当需要通过点击地图某一个区域,将当前地图相关参数值传递给另一个地图时,需要书写超链接表达式。

例如:mis2/vrsr/showReport1.jsp?resID=30011&svgName=@areaId&maparg1=@areaId&maparg2=@areaName&encodeParamName=areaId,areaName

例如:mis2/reportcenter/showReport1.jsp?resID=32209&maparg1=value(city)&maparg2=value(A2)&encodeParamName=city

js方法

当需要通过点击地图某一个区域,将当前地图的相关参数值传递其他方法(例如将地图的参数值传递给当前报表的统计图),需要使用javascript:方法。

javascript:方法名(参数1,参数2...)    //后台会将将所有参数拼成一个字符串用逗号分割。需要js方法里自己分割一下。

例如:javascript:confirm(areaId,areaName)

例如:javascript:confirm(@areaId,@areaName,value(A1),value(arg0))

参数介绍

地图的参数,除了自带的areaId、areaName、svgName、maparg1、maparg2外,也可以使用报表参数或取某一个单元格的值。

参数格式:

区域id :@areaId

区域名称:@areaName

区域值:@areaValue

svg名称:@svgName

单元格值:value(坐标)

参数值:value(参数名)

参数意义:

areaId:区域ID,需要与地图的svg文件中的id值相一致。

areaName:区域名称,是显示在地图上的区域名称。(如果不设置该值,或对应不上,则地图上不会显示区域名称)。

areaValue:当前区域的数值。

svgValue:地图svg文件名称。js目前不支持该参数。

maparg1、maparg2:没有实际意义,可以按照该规则命名,也可以自定义名称。

注意:地图接收传递的svgName值时,是接收使用base64加密过的值。使用超链接传递的时候系统会自动进行加密处理,但是如果需要通过报表参数或其他方式来传递svgName参数值时,需要进行加密处理,加密时可以使用encode加密函数。