是否可以让Icon标签使用Base64编码图像?我尝试过没有成功,使用数据:image / png; base64,预先添加到图像的编码数据,但是当我加载KML时仍然得到红色X.
答案 0 :(得分:1)
KML中的Style引用覆盖(屏幕覆盖,地面覆盖等)和图标图像仅作为绝对或相对URL引用,而不是其他XML标准中允许的内联base64编码内容。
带绝对网址的图标样式示例:
<Style>
<IconStyle>
<Icon>
<href>http://maps.google.com/mapfiles/kml/pal3/icon21.png</href>
</Icon>
</IconStyle>
</Style>
具有相对网址的地面叠加图片示例:
<GroundOverlay>
<Icon>
<href>etna.jpg</href>
</Icon>
</GroundOverlay>
理论上,可以使用“data:image / png; base64 ...”在KML中引用URL,但在官方KML standard中定义的 NOT 用法也未在Google中实现地球。
可以使用base64编码的图像并通过KML特征description中的HTML和JavaScript代码访问它们,但这不在KML的上下文中,不适用于查看红色X. KML支持大多数JavaScript,因此可以在描述气球中显示内嵌图像。
简而言之,图像或图标目前无法对KML中引用的地图上显示的叠加图像或图标进行base64编码,但您可以压缩图像并将其作为KML内的条目引用相对于KML的图像。 {3}}。通过将图像包含在压缩的KMZ文件中,首先不需要对图像进行base64编码。