Birt Mapit在Birt-Viewer中无效

时间:2014-07-12 01:06:37

标签: birt

我使用Birt的mapit库创建了一些地图。这些地图在Birt Designer中非常棒。但是,当我在Birtviewer中放入相同的报告时,地图不会加载。我的问题是,这是否是Mapit与java8或birtviewer的兼容性问题,它在birt查看器中不起作用?

我的第二个问题是我如何才能真正看到是否正确读取了birt库文件以及读取库文件是否存在问题?

阿里夫

1 个答案:

答案 0 :(得分:0)

与"预览"不同。模式,框架集servlet通过ajax查询加载报表。问题是Eclipse Webviewer没有使用像jquery这样的框架来处理ajax:只触发了第一个html脚本标记。

您的示例适用于我开发的portlet查看器,因为jquery会自动处理所有这些ajax内容。为了使它能够与Eclipse WebViewer的框架集servlet一起使用,我尝试了一个快速而又脏的解决方法,只测试了Chrome和&火狐:

1 /我在第一个脚本标记的末尾添加了此片段:

setTimeout(function(){
    console.log("Evaluate ajax html...");
    var scripts = document.getElementsByName("scriptMap");
    for (var i=0;i<scripts.length;i++) {
      if (scripts[i].text!=null) eval(scripts[i].text)
    }   
}, 1000);

2 /我还添加了一个名字&#34; scriptMap&#34;允许选择剩下的2个脚本标签例如,这是最后一个脚本:

<script name="scriptMap">
    setTimeout(actuate.birt.maps.google.start, 1);
</script>

这样,样本可以使用WebViewer框架集精确运行。

此外,如果您需要将平面文件部署为相对路径,则可以使用如下所述的文件URI来管理它。这意味着在您的示例中,您必须声明两个不同的数据源,每个文件一个。我希望它会有所帮助。

Relative path for a flat file