我已经看了这么久,我再也看不到了。
它看起来像有效的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 :(得分:2)
<PolyStyle>
样式元素在父<Style>
元素的上下文之外无效。功能(例如地标)不能直接引用PolyStyle元素,而是通过Style或StypeMap引用或内联元素引用。另外,使用正确的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>....
Google提供了其他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