在Google地图或地球中使用KML在多边形中绘制孔不起作用。有人有想法吗?

时间:2011-02-22 16:23:28

标签: google-maps kml polygon google-earth

这是我的kml文件:

<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2">
  <Placemark>
     <name>Pentagon</name>
     <Polygon>
       <extrude>1</extrude>
       <altitudeMode>relativeToGround</altitudeMode>
       <outerBoundaryIs>
         <LinearRing>
           <coordinates>
             -77.05788457660967,38.87253259892824,100 
             -77.05465973756702,38.87291016281703,100 
             -77.05315536854791,38.87053267794386,100 
             -77.05552622493516,38.868757801256,100 
             -77.05844056290393,38.86996206506943,100 
             -77.05788457660967,38.87253259892824,100
           </coordinates>
         </LinearRing>
       </outerBoundaryIs>
       <innerBoundaryIs>
         <LinearRing>
           <coordinates>
             -77.05668055019126,38.87154239798456,100 
             -77.05542625960818,38.87167890344077,100 
             -77.05485125901024,38.87076535397792,100 
             -77.05577677433152,38.87008686581446,100 
             -77.05691162017543,38.87054446963351,100 
             -77.05668055019126,38.87154239798456,100
           </coordinates>
         </LinearRing>
       </innerBoundaryIs>
     </Polygon>
   </Placemark>
</kml>

我将其导入Google地图(我的地图)或Google地球,并且不会显示“漏洞”。代码来自页面KML Tutorial - Advanced KML Documents

3 个答案:

答案 0 :(得分:0)

奇怪。我肯定会在Google地球中看到一个拉伸多边形,但看起来Google地图似乎没有正确绘制outerBoundaryIsinnerBoundaryIs元素的交集(虽然我确实看到了内边框,但不一定具有完全中空的多边形)。我认为在这种情况下,Google地图叠加层似乎并不完全符合KML规范。

答案 1 :(得分:0)

我可以看到挤压五边形在中间有一个漂亮的洞......但只是在Google Earth中。在谷歌地图(正常的,没有通过geoxml3使用它)不会出现漏洞。可能正如怀亚特安德森所说,谷歌地图并不完全符合这个KML功能...但如果你使用geoxml3,你就会得到它。我有同样的问题,我用geoxml3.js解决了它。祝好运!

答案 2 :(得分:0)

到目前为止,Google Earth Pro可以正确显示具有内部边界的多边形。 但是,您的文件缺少元素。这可能会导致其他更严格的解析器出现问题。也许这就是Google Maps问题的原因。