我已阅读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>
....
地图出现在预览中,但标签/标题未显示,图标似乎未从默认值更改。
如何显示标签和自定义图标?
答案 0 :(得分:2)
在jasper报告中使用地图组件,您正在使用
Google static maps >> MarkerOptions
<强> icon.url 强>
对于<mp:itemProperty name="icon.url">
,您需要提供互联网上可用的图片网址(该地图由Google生成)。 Google无法访问您的本地图片C:\\Users\\Desktop\\img.ico
,即使您对其进行网址编码file:/C:/User/Desktop/img.ico
也不需要"http://www.jdd.it/favicon.ico"
。尝试删除您的互联网连接,您将看到不再生成地图。
<强>标题强>
输入:string 滚动文字。仅适用于点几何。
所以title
这不是标签,而是滚动文字
我想问题还在继续,如何在google静态地图中添加我的标记上方的文字?
我会说你不能!但这总是危险的......,如果你找到方法,请告诉我。关于SO有一个问题,但我们没有一个有效的答案。
Static Google Map: Is it possible to add Text to the Marker
wordpress用户也有同样的问题。
我知道添加一些文本(大写1个字母)的唯一方法是label
属性(注意:您需要删除所有图标属性)
<mp:itemProperty name="label">
<valueExpression><![CDATA["P"]]></valueExpression>
</mp:itemProperty>
P = Petter
我猜因为您使用的是jasper报告,所以您的解决方案会在地图下添加标签说明,就像我在这篇文章中所做的那样。
或者使用自定义图像并在地图下面添加一些标签说明。
或者,如果地图的位置是静态的(没有动态数据源),请在其上面拖动一些<textField>
;)