2014-02-17 98 views
0

我正在使用KML。我生成了以下适用于Google地球的KML,但对于Google地图无法正常工作。Google地球和Google地图KML不匹配

问题是所有图标都没有显示出来。所有在URL中输入的图标都是32x32。

http://theinternallight.com/KML/GetAllCountryScalars%20(47).kml

任何人能告诉我什么,我做错了。

由于提前

+0

是否所有[图标透明](http://theinternallight.com/KML/IconLatLong/-70-175.png)? – geocodezip

回答

0

KML时不能正确显示,检查的第一件事情是,如果KML符合标准。 KML中元素的顺序具有严格的顺序和Style元素,例如,必须位于Point几何体之前,因此KML无效。具有元素排序的KML地标的正确结构可以在here找到。

这里是在原KML使用不正确的排序找到一个例子:

<Placemark> 
    <Point> 
     <coordinates>180,-5,0</coordinates> 
    </Point> 
    <Style id="-5180.png"> 
     <IconStyle> 
      <Icon> 
       <href>http://theinternallight.com/KML/IconLatLong/-5180.png</href> 
      </Icon> 
     </IconStyle> 
    </Style> 
</Placemark> 
从严格的XML透视为“id”属性必须是以字母数字字符开头的有效NCNAME数据类型不

另外“ - “,但为了简化您只需从地标内的内嵌样式中删除”id“属性 - 这些都不是必需的。

可以,而这改写如下:

<Placemark> 
    <Style> 
     <IconStyle> 
      <Icon> 
       <href>http://theinternallight.com/KML/IconLatLong/-5180.png</href> 
      </Icon> 
     </IconStyle> 
    </Style> 
    <Point> 
     <coordinates>180,-5,0</coordinates> 
    </Point> 
</Placemark> 

你应该再改变使用加尔多斯KML Validator验证KML。如果您想要一个独立的命令行KML验证程序,那么您可以使用工具。

+0

我已经验证了KML,并且它是Galdos KML Validator祝贺 –

+0

奇怪,但KML仍然无效。尝试XML验证。您可以在这里查看KML地标的结构https://developers.google.com/kml/documentation/kmlreference#placemark – JasonM1