我对这个不寻常的问题感到困惑:我正在使用Google Maps v3 API来显示Spreadsheet Mapper KML数据,我们在KML中引用了一些自定义图像,这些图像出现在位置/放置气球中。 Google似乎不允许在其气球图层中使用Javascript引用(具有讽刺意味,对吧?),因此根据未找到的图像或src不存在而隐藏损坏的图像链接似乎不可能。
非技术营销人员将通过将气球图像FTP到文件夹逐渐填充图像,但这将逐渐发生并需要立即显示,而不依赖于KML。因此,KML只有一个帐号参考,对应于需要创建的图像名称。
对于那些尚未上传的图片,我们不希望出现破碎的图像图标,但没有Javascript访问或对象标记(也不可用),似乎几乎不可能。 Firefox有一个设置可以关闭损坏的图像,但它不是一个选项(IE似乎有最好的“捏和缩放”支持,这被用于大型触摸屏显示器。
气球HTML在KML文件中显示如下:
<table width="{static_Balloon_Width}"><tr>
<td colspan="2">
<span style="font-size:{static_Title_Font_Size};"><b>{unique_Title}</b></span><br>
<br>
<span style="font-size:{static_Subtitle_Font_Size};"><b>{unique_Subtitle}</b> </span><br>
<img src="images/location/{unique_Paragraph1_Text}.jpg" alt=" "><br>
<br>
{unique_Paragraph2_Text}<br>
<a href="{unique_Link_URL}">{unique_Link_Text}</a>
<hr>
</td>
</tr>
<tr>
<td align="left"><a href="{static_Footer_Link_URL}">{static_Footer_Link_Text}</a> </td>
<td align="right"><span style="color:{static_Footer_Text_Color};"> {static_Footer_Text}</span></td>
</tr></table>
如果您对避免显示损坏的图片链接有任何想法,请告诉我们!感谢。
答案 0 :(得分:1)
您可以在加载KmlLayer的页面中处理infowindow的内容。
注意:我看过代码没有抑制infoWindows,添加了一个修改infoWindowHtml内容的点击监听器,似乎有效,但我不知道我相信它。
这是一个example using FusionTablesLayer,点击事件略有不同,但原理是一样的。