【问题标题】:How to get geoLocation in BIRT report如何在 BIRT 报告中获取地理位置
【发布时间】:2013-12-26 06:08:54
【问题描述】:

我正在使用 BIRT 报告工具生成报告。我需要显示与经度和纬度相对应的地理位置名称。在报告中我想在表格中显示相应的地理位置名称(即:使用 Google 地图 API)。我不需要显示谷歌地图。我如何在 BIRT 报告中做到这一点。

【问题讨论】:

    标签: java eclipse report birt


    【解决方案1】:

    您可以在 birt 文本元素中插入您提到的 jsfiddle,请参阅嵌入 BIRT 报告 here 中的 google API 的实时示例。

    虽然重要的是要注意它使用 客户端 地理编码 API,而通常的 BIRT 脚本是 服务器端 javascripts。这意味着限制:

    要在 BIRT 中引入客户端 javascript,我们必须:

    • 在报告中插入一个 BIRT 文本元素
    • 在元素顶部的下拉列表中将类型设置为“HTML”
    • 将 HTML 标记和 Javascript 代码作为文本内容插入

    这很简单,但是当我们通过客户端 javascript 获取这样的内容时,它将无法用于导出 PDF、Powerpoint 等:它仅以 HTML 格式显示。

    为了使其可用于其他格式,例如 PDF,我们必须使用 java 地理编码器 API,例如 google's,并向 BIRT 引擎提供相关的“jar”库,如 @987654323 所述@。

    一些地理编码 java API 是免费和/或开源的,但地理编码服务可能会受到限制。仔细阅读使用条款。

    【讨论】:

      【解决方案2】:

      据我所知,可以从BIRT工具生成的报告中调用外部java包,所以,我的想法是你可以编写一个java方法来调用google geocoding API(它可以从经度解析地理位置名称和纬度),然后从报告中调用java方法。

      【讨论】:

      • 我是 birt 的新手。我不知道如何实现..你可以分享任何示例报告
      • 或者在javascript级别itef中有可能吗??
      • jsfiddle.net/ThinkingStiff/LSMXQ ..是否可以在 birt 中实现这个
      • 说,你有一个java类Geo,它有一个静态方法resolveGeoName,位于com.test,那么如果你想调用这个方法,你所要做的就是添加importPackage(Packages. com.test ) 语句添加到您的报告脚本中,然后从您的报告脚本中调用 Geo.resolveGeoName。关于举报脚本,可以参考BIRT official doc
      • 之前没有在javascript级别尝试过,大家可以拍下记得告诉我结果:P
      猜你喜欢
      • 2015-10-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-06-28
      • 2016-03-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多