如何在JasperReport地图上显示标签和自定义图标?

4

我已经阅读了JasperReports地图组件示例并尝试了下面的代码:

....
<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>
....

地图在预览中出现,但标签/标题未显示,图标似乎也未从默认设置更改。

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

1个回答

2
使用Jasper报表中的地图组件,你正在使用:

Google静态地图 >> MarkerOptions

icon.url

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

标题

类型:字符串 悬停文本。仅适用于点几何体。

所以,title 不是标签,而是悬停文本

我想问题继续,如何在 Google 静态地图中在我的标记上方添加文本?

我会说你做不到!但这总是危险的...如果您找到了一种方法,请告诉我。有一个问题在 SO 上询问此事,但对我们来说没有有效的答案。

静态谷歌地图:是否可以在标记上添加文本?

WordPress用户有同样的问题。

在静态地图上显示标题

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

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

P Marker

P = Petter 我猜您正在使用Jasper报表,那么您的解决方案就是在地图下面添加标签描述,就像我在这篇文章中所做的那样。
或者使用自定义图像,并在地图下方放置一些标签描述。
如果地图的位置是静态的(没有动态数据源),则可以将一些拖到其顶部。 ;)

我不再参与这个项目了,但是没错,标签描述就是我上次所需要的! - Baby

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接