2014-02-19 56 views
1

我一直在寻找这个这么久,我再也看不到它了。外部样式表中的KML PolyStyle?

它看起来像有效的KML样式,URI看起来很好,但它不起作用。

<?xml version="1.0" encoding="utf-8"?> 
<kml xmlns="http://earth.google.com/kml/2.2"> 
<Document> 
    <name>Style Test</name> 

    <PolyStyle> 
     <color>776d8f77</color> 
     <outline>0</outline> 
    </PolyStyle> 

    <PolyStyle id="counties"> 
     <color>776d8f77</color> 
     <outline>0</outline> 
    </PolyStyle> 

</Document> 
</kml> 

此文件由KML引用:

<?xml version="1.0" encoding="UTF-8"?> 
    <kml xmlns="http://www.opengis.net/kml/2.2"><Document> 
    <Placemark> 
     <name>Viburnum australe US Distribution</name> 
     <styleUrl>/_/maps/style.kml#counties</styleUrl> 
      <Polygon> .... 

为什么得到应用既不风格?

TIA .....

+0

你哈现场KML展示了这个问题?或者一个完整的(最好是简单的)例子呢? – geocodezip

回答

2

<PolyStyle>风格的元素不是父<Style>元素的上下文之外有效。特征(例如地标)不能直接引用PolyStyle元素,而是通过StyleStypeMap引用或内联元素引用。此外,使用适当的KML名称空间URL作为http://www.opengis.net/kml/2.2而不是http://earth.google.com/kml/2.2

而是重写“style.kml”文件是这样的:

<?xml version="1.0" encoding="utf-8"?> 
<kml xmlns="http://www.opengis.net/kml/2.2"> 
<Document> 
    <name>Style Test</name> 

    <Style id="s1"> 
     <PolyStyle> 
     <color>776d8f77</color> 
     <outline>0</outline> 
     </PolyStyle> 
    </Style> 

    <Style id="counties"> 
     <PolyStyle> 
     <color>776d8f77</color> 
     <outline>0</outline> 
     </PolyStyle> 
    </Style> 

</Document> 
</kml> 

现在的样式的引用将工作:

<?xml version="1.0" encoding="UTF-8"?> 
<kml xmlns="http://www.opengis.net/kml/2.2"> 
<Document> 
    <Placemark> 
    <name>Viburnum australe US Distribution</name> 
    <styleUrl>style.kml#counties</styleUrl> 
    <Polygon>.... 

谷歌提供使用的样式的KML文件的例子其他KML文件:
http://kml-samples.googlecode.com/svn/trunk/kml/Style/styles.kml
http://kml-samples.googlecode.com/svn/trunk/kml/Style/remote-style.kml

+0

谢谢 - 我知道这很简单,它总是如此。 – LeeGee