谷歌地图kmz polygon` <description>`$ [name]突然没有在气球中解释</description>

时间:2012-05-31 05:13:35

标签: google-maps kml polygon kmz

此问题最近才出现,但我找不到谷歌改变任何相关内容的任何引用。

我有一个网站,我想在地图上显示只是地图上的某个地区的名称,而不是隐藏的默认风格<name>始终显示在。

所以,在<BalloonStyle><text>添加$ [说明]和<description>中添加CDATA $ [名称]

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

现在(当它们可点击时)我的多边形显示巨大的名称,如果<description>中没有任何内容,则显示$ [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不再可点击。

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

1 个答案:

答案 0 :(得分:0)

d

确定。经过大量的填充,这就是发生的事情。

Google必须强制执行

  

<description>允许使用HTML内容,但需要对其进行清理以进行保护   来自跨浏览器的攻击;实体的形式替换   $ [dataName]不受支持。“

之前打破了我在infowindows做的事情。现在我已删除了<BalloonStyle><name>,只显示了<description>标记中的名称(带样式公司.padding-top:20px;),它为我提供了漂亮的小文本。

“不超过5公里”的规则发生了,它不仅仅停止渲染kmls,它打破了一些东西:一公里没有出现,但仍然可以用它的信息点击,有些可见的kmls有时不是' t可点击刷新。

我在所有的kml上都使用了http://www.kmlvalidator.org/验证器,这些都验证了。

除!当我通过谷歌地球(v6.2.2.6613)将它们保存为kmz格式时,谷歌会从<innderBoubdaryIs>中删除连续的<Polygon>个标记,这样所有<innderBoubdaryIs>周围只有一个<LinearRing>标记}标签。这会导致第一个<innderBoubdaryIs><LinearRing>标记在多边形中创建一个洞,并忽略其余的。 (嗯......我是否需要特别关注这个人?或者更新会解决这个问题吗?)

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