0

这个问题最近才出现,但我找不到任何关于谷歌改变任何相关内容的参考。

我有一个站点,我想在单击时仅在地图上显示<name>一个区域的名称,而不是始终显示可怕的默认样式。

因此,在<BalloonStyle><text>添加 $[description] 和<description>添加 CDATA $[name]

这在谷歌地图中运行良好,直到不久前,在我的谷歌地图中运行良好。

现在(当它们可点击时)我的多边形显示巨大的名称,如果<description>.

部分气球内部(来自视图选择源): <div jstcache="0" style="font-weight: bold; font-size: medium; margin-bottom: 0em;" torrens_rural_catchment=""> Torrens Rural Catchment </div> <div jstcache="0" id="iw_kml"><div jstcache="0">$[name]</div></div>

和!我的一个多边形完全不可见,但可以点击!(在地球上完全可见)

我完全不知道为什么会发生这种情况。我想不出我对代码所做的任何事情来影响它。

站点:http ://wds.amlr.waterdata.com.au/Amlr.aspx (单击绿色区域下方附近的不可见多边形。另外,站点未完成)

使用 Shabdar 的 Google Maps Control for ASP.NET

所有 kmz 都在 30 kb 以下

请帮忙!


" <description>HTML 内容是允许的,但经过清理以防止跨浏览器攻击;$[dataName]不支持表单的实体替换。" 好的,很公平,我如何只显示名称(最好是小文本)?它总是打破!

kml 详细信息:谷歌地球仅以小文本显示名称,地图显示其下方的大名称和描述文本。

    <?xml version="1.0" encoding="UTF-8"?>
    <kml xmlns="http://www.opengis.net/kml/2.2" xmlns:gx="http://www.google.com/kml/ext/2.2" xmlns:kml="http://www.opengis.net/kml/2.2" xmlns:atom="http://www.w3.org/2005/Atom">
    <Document>
    <name>Fleurieu_Peninsula_Catchment.kml</name>
    <StyleMap id="default1">
    <Pair>
    <key>normal</key>
    <styleUrl>#default</styleUrl>
    </Pair>
    <Pair>
    <key>highlight</key>
     <styleUrl>#default0</styleUrl>
    </Pair>
</StyleMap>
<Style id="default">
    <IconStyle>
        <scale>0.7</scale>
    </IconStyle>
    <LabelStyle>
        <color>00ffffff</color>
    </LabelStyle>
    <BalloonStyle>
        <text><![CDATA[$[name]]]></text>
    </BalloonStyle>
    <LineStyle>
        <width>0.5</width>
        <color>cc94c934</color>
    </LineStyle>
    <PolyStyle>
        <color>7fffc24f</color>
        <outline>0</outline>
    </PolyStyle>
</Style>
<Style id="default0">
    <IconStyle>
        <scale>0.7</scale>
    </IconStyle>
    <LabelStyle>
        <color>00ffffff</color>
    </LabelStyle>
    <BalloonStyle>
        <text><![CDATA[$[name]]]></text>
    </BalloonStyle>
    <LineStyle>
        <width>0.5</width>
        <color>cc94c934</color>
    </LineStyle>
    <PolyStyle>
        <color>7fffc24f</color>
        <outline>0</outline>
    </PolyStyle>
</Style>
<Placemark id="p2">
    <name>Fleurieu Peninsula Catchment</name>
    <snippet maxLines="0"></snippet>
    <description>Don't show this</description>
    <styleUrl>#default1</styleUrl>
    <Polygon>
        <outerBoundaryIs>
            <LinearRing>
                <coordinates>
                    138.585914080646,-35.3888737733775,0 138.58279412306,-35.3890538078642,0 138.578014195374,-35.3898638645537,0 138.574064275831,-35.3919539205289,0 138.57115435005,-35.3942239666534,0 ...
    </coordinates>
    </LinearRing>
    </outerBoundaryIs>
    </Polygon>
    </Placemark>
    </Document>
    </kml>

当我刷新页面时,kml 不再可点击。

谷歌最近改变了解释这些事情的方式吗?

4

1 回答 1

0

丁:

行。经过大量的填充之后,这就是发生的事情。

谷歌必须强制执行

" <description>HTML 内容是允许的,但经过清理以防止跨浏览器攻击;不支持 $[dataName] 形式的实体替换。"

这打破了我之前在 infowindows 中所做的事情。现在我已经删除<BalloonStyle>并且<name>只在<description>标签中显示名称(带有样式 inc.padding-top:20px;),这给了我很好的小文本。

“不超过五个 kmls”规则发生了,它不仅停止渲染 kmls,还破坏了一些东西:一个 kml 没有显示,但仍然可以通过其信息窗口单击,并且某些可见的 kmls 有时无法单击刷新。

我在我所有的 kmls 上都使用了验证器http://www.kmlvalidator.org/ ,它们都可以验证。

除了!当我通过 Google Earth (v6.2.2.6613) 将它们保存为 kmz 格式时,google 会<innderBoubdaryIs>从内部删除连续的标签,以便所有标签周围<Polygon>只有一个标签。这只会导致第一个标签在多边形中创建一个洞,而忽略其余部分。(嗯……我需要特别提醒某人吗?或者更新会解决这个问题吗?)<innderBoubdaryIs><LinearRing><innderBoubdaryIs><LinearRing>

所以,我要去自己压缩所有的kmls。

于 2012-06-01T05:46:43.763 回答