【问题标题】:How to show label and custom icon on JasperReport map?如何在 JasperReport 地图上显示标签和自定义图标?
【发布时间】:2014-05-22 09:21:08
【问题描述】:

我已阅读JasperReports - Map Component Sample 并尝试了以下代码:

....
<componentElement>
    <reportElement uuid="d16ce41f-66bd-4fdb-9d6c-31e661b0f16f" key="" positionType="Float" 
      stretchType="RelativeToTallestObject" x="32" y="0" width="480" height="311"/>

    <mp:map xmlns:mp="http://jasperreports.sourceforge.net/jasperreports/components"
      xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports/components
       http://jasperreports.sourceforge.net/xsd/components.xsd">

        <mp:latitudeExpression><![CDATA[1.311378f]]></mp:latitudeExpression>
        <mp:longitudeExpression><![CDATA[103.826637f]]></mp:longitudeExpression>
        <mp:zoomExpression><![CDATA[12]]></mp:zoomExpression>
        <mp:markerData>
            <mp:item>
                <mp:itemProperty name="latitude">
                    <valueExpression><![CDATA[1.285979f]]></valueExpression>
                </mp:itemProperty>
                <mp:itemProperty name="longitude">
                    <valueExpression><![CDATA[103.838997f]]></valueExpression>
                </mp:itemProperty>
                <mp:itemProperty name="title">
                    <valueExpression><![CDATA["asdasd"]]></valueExpression>
                </mp:itemProperty>
                <mp:itemProperty name="icon.url">
                    <valueExpression><![CDATA["C:\\Users\\Desktop\\img.ico"]]></valueExpression>
                </mp:itemProperty>
                <mp:itemProperty name="icon.height">
                    <valueExpression><![CDATA[100]]></valueExpression>
                </mp:itemProperty>
                <mp:itemProperty name="icon.width">
                    <valueExpression><![CDATA[100]]></valueExpression>
                </mp:itemProperty>
            </mp:item>
        </mp:markerData>
    </mp:map>
</componentElement>
....

地图出现在预览中,但标签/标题没有出现,图标似乎没有从默认值改变。

如何显示标签和自定义图标?

【问题讨论】:

    标签: google-maps jasper-reports


    【解决方案1】:

    在jasper报告中使用地图组件,您正在使用

    Google static maps >> MarkerOptions

    icon.url

    对于&lt;mp:itemProperty name="icon.url"&gt;,您需要提供互联网上可用的图片网址(地图由谷歌生成)。 Google 无法访问您的本地图像C:\\Users\\Desktop\\img.ico,即使您对它进行 url 编码file:/C:/User/Desktop/img.ico 它也需要类似于"http://www.jdd.it/favicon.ico"。尝试断开您的互联网连接,您将看到地图不再生成。

    标题

    类型:字符串 翻转文字。仅适用于点几何体。

    所以title 这不是一个标签,而是一个翻转文本

    我猜这个问题还在继续,如何在谷歌静态地图中的标记上方添加文字?

    我会说你不能!但这总是危险的......,如果你找到方法请告诉我。 SO上有一个问题问这个问题,但对我们没有有效的答案。

    Static Google Map: Is it possible to add Text to the Marker

    wordpress 用户也有同样的问题。

    show-title-on-static-maps

    我知道添加一些文本(1 个大写字母)的唯一方法是通过 label 属性(注意:您需要删除所有图标属性)

    <mp:itemProperty name="label">
      <valueExpression><![CDATA["P"]]></valueExpression>
    </mp:itemProperty>
    

    P = 彼得

    我想既然您使用的是 jasper 报告,您的解决方案就变成了在地图下方添加标签描述,就像我在这篇文章中所做的那样。

    或者使用自定义图像,并在地图下方添加一些标签描述。

    或者如果地图的位置是静态的(没有动态数据源),在它上面拖一些&lt;textField&gt; ;)

    【讨论】:

    • 我不再使用这个,但是你说得对,标签描述实际上是我上次所需要的!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-12-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-02
    • 1970-01-01
    相关资源
    最近更新 更多