嗨,我写了一个Javascript来输出一个基于谷歌地图api v3上标记的多边形区域的KML文件。该文件以前工作正常,在Google Earth Pro上显示了正确的位置和多边形形状
现在突然间,显示的不是伦敦的伦敦眼区域,而是刚果的一个区域,而多边形甚至在谷歌地球上都不能正确显示。我试着调试,似乎是坐标导致了问题。但是,当我将其保存到google map online上的MyPlaces时,它会正确地解析KML并显示其形状和位置。谢谢你的帮助。下面的KML
<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://earth.google.com/kml/2.1">
<Document>
<name>test</name><description>test</description>
<Style id='style1'>
<LineStyle>
<width>5</width>
</LineStyle>
<PolyStyle>
<color>0FF00000</color>
<fill>1</fill>
<outline>1</outline>
</PolyStyle>
</Style>
<Placemark>
<name>?</name>
<styleUrl>#style1</styleUrl>
<Polygon>
<outerBoundaryIs>
<LinearRing>
<tessellate>1</tessellate>
<coordinates>
51.50519078602326, -0.12681582942195746,
51.50708732603467, -0.12381175532527777,
51.50553804573176, -0.1123104430694184,
51.50166461450478, -0.11462787165828558,
51.50519078602326, -0.12681582942195746,
</coordinates></LinearRing></outerBoundaryIs></Polygon></Placemark>
</Document>
</kml>发布于 2012-03-13 02:02:09
您的KML无效,并且Google Earth不再像以前那样允许接受这种类型的无效坐标。
具体地说,您在KML中的每一行的末尾都有一个额外的逗号--因此只需删除它们,或者在它们后面添加可选的高度值。
还要删除坐标的单独部分之间的空格。您的坐标现在将由Google Earth转换为三个单独的坐标: 51.50519078602326,0,0和-0.12681582942195746,0,0和0,0,0。
将其更改为:
51.50519078602326,-0.12681582942195746,0
51.50708732603467,-0.12381175532527777,0
或者:
51.50519078602326,-0.12681582942195746
51.50708732603467,-0.12381175532527777
有关多边形示例,请参见https://developers.google.com/kml/documentation/kml_tut#polygons;有关更多详细信息,请参见部分和https://developers.google.com/kml/documentation/kmlreference#linearring。
https://stackoverflow.com/questions/9671959
复制相似问题