Google maps 具有内部边界的全球KML在谷歌地图中显示wierd

Google maps 具有内部边界的全球KML在谷歌地图中显示wierd,google-maps,kml,Google Maps,Kml,全部 我有一个kml文件,看起来如下所示: <?xml version="1.0" encoding="UTF-8"?> <kml xmlns="http://www.opengis.net/kml/2.2"> <Document> <name>KML file with polygon for bird species range</name> <description>Source various b

全部

我有一个kml文件,看起来如下所示:

<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2">
  <Document>
    <name>KML file with polygon for bird species range</name>
    <description>Source various books and websites</description>
    <Style id="rangecolour">
      <LineStyle><color>660000FF</color><width>1</width></LineStyle>
      <PolyStyle><color>660000FF</color></PolyStyle>
    </Style>
    <Style id="linecolour">
      <LineStyle><color>660000FF</color><width>3</width></LineStyle>
    </Style>
    <Placemark><name>distribution/range</name>
      <description></description>
      <styleUrl>#rangecolour</styleUrl>
      <Polygon>
        <tessellate>1</tessellate>
        <altitudeMode>clampToGround</altitudeMode>
        <outerBoundaryIs>
          <LinearRing>
            <coordinates>
              -180.0,180.0,0.0 
              -180.0,-180.0,0.0 
              180.0,-180.0,0.0 
              180.0,180.0,0.0 
              -180.0,180.0,0.0 
            </coordinates>
          </LinearRing>
        </outerBoundaryIs>
        <innerBoundaryIs>
          <LinearRing>
            <coordinates>
              153.056374,-27.500658,0.0 
              153.056374,-27.524105,0.0 
              153.093109,-27.524105,0.0 
              153.093109,-27.500658,0.0 
              153.056374,-27.500658,0.0 
            </coordinates>
          </LinearRing>
        </innerBoundaryIs>
      </Polygon>
    </Placemark>
  </Document>
</kml>

鸟类种类范围的带多边形的KML文件
提供各种书籍和网站
660000FF1
660000FF
660000FF3
分布/范围
#兰奇色
1.
攀爬地面
-180.0,180.0,0.0 
-180.0,-180.0,0.0 
180.0,-180.0,0.0 
180.0,180.0,0.0 
-180.0,180.0,0.0 
153.056374,-27.500658,0.0 
153.056374,-27.524105,0.0 
153.093109,-27.524105,0.0 
153.093109,-27.500658,0.0 
153.056374,-27.500658,0.0 
我的意图是在整个世界内打一个“洞”,让边界外的世界都被遮住(这只是一个例子),但是,出于某种原因,我不知道,在Google Earth中效果很好,但在Google maps中(至少API v3…是我在“Google.maps.Kmlayer(url.kml)”中使用的那个…)不是

有人知道为什么吗

提前谢谢你

外边界为:

        <coordinates>
          -180.0,180.0,0.0 
          -180.0,-180.0,0.0 
          180.0,-180.0,0.0 
          180.0,180.0,0.0 
          -180.0,180.0,0.0
        </coordinates>

-180.0,180.0,0.0 
-180.0,-180.0,0.0 
180.0,-180.0,0.0 
180.0,180.0,0.0 
-180.0,180.0,0.0
这是一个非常窄的正方形(介于-180和+180之间)

下面显示的KML将其用于多边形(整个世界都有一个小孔):

分布/范围
#兰奇色
1.
对我有用,对我没用

我不知道为什么,而且几乎总是这样坏的


我的意图是做全世界的事情,即使在google earth中,全世界看起来都被遮住了,但是在google maps API中使用了一个Kmlayer,正如你所说,它变成了一个非常狭窄的正方形,但是意图是“走向”另一个方向……:(不管怎样,现在我正在尝试使用geoxml3看看这个库是否能改进它。我会让你知道结果。谢谢!!好的,很好,有了geoxml3我可以,有了你发布的这个kml文件我可以“覆盖”世界的其他地方。非常有用!非常感谢!现在我需要缩放/聚焦非阴影区域…你在年的示例中做得怎么样“”?谢谢!!URL中的参数lat=-27.521011&lng=153.075531&zoom=12好的,在这种情况下,我想我需要在“内部边界”中获取一个点,并使用它来缩放它。谢谢!根据“洞”的外观,您可以计算该“多边形”的边界并将地图居中(使用map.fitbunds).对于示例中的方孔,这是微不足道的(北/南、东/西排列的正方形/矩形定义了边界)。
<Placemark><name>distribution/range</name>
  <description></description>
  <styleUrl>#rangecolour</styleUrl>
  <Polygon>
    <tessellate>1</tessellate>
    <altitudeMode>clampToGround</altitudeMode>
    <outerBoundaryIs>
      <LinearRing>
        <coordinates>
          180,85 
          90,85 
          0,85 
          -90,85 
          -180,85 
          -180,0 
          -180,-85 
          -90,-85 
          0,-85 
          90,-85 
          180,-85 
          180,0 
          180,85 
        </coordinates>
      </LinearRing>
    </outerBoundaryIs>
    <innerBoundaryIs>
      <LinearRing>
        <coordinates>
          153.056374,-27.500658,0.0 
          153.093109,-27.500658,0.0 
          153.093109,-27.524105,0.0 
          153.056374,-27.524105,0.0 
          153.056374,-27.500658,0.0 
        </coordinates>
      </LinearRing>
    </innerBoundaryIs>
  </Polygon>
</Placemark>