1

我有 8000 个多边形需要在 Google 地图上显示(某些美国邮政编码 - 不是全部)。我有一个“根”KML 文件,其中包含 10 个按地区划分这些邮政编码的网络链接。在这些区域网络链接中,我有更多的网络链接,这些链接按州划分,每个文件平均约 300 个多边形。以下是我的 KML 文件的示例(例如缩短):

根.kml:

<?xml version="1.0" encoding="utf-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2">
  <Document>
    <name>regions</name>
    <NetworkLink>
      <Link>
        <href>https://url/region0.kml</href>
        <viewRefreshMode>onRegion</viewRefreshMode>
      </Link>
    </NetworkLink>
    <NetworkLink>
      <Link>
        <href>https://url/region1.kml</href>
        <viewRefreshMode>onRegion</viewRefreshMode>
      </Link>
    </NetworkLink>
    <!-- additional Network Link regions -->
  </Document>
</kml>

region0.kml:

?xml version="1.0" encoding="utf-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2">
  <Document>
    <name>region0</name>
    <NetworkLink>
      <Region>
        <LatLonAltBox>
          <north>36.244860000000003</north>
          <south>31.542739999999998</south>
          <east>-109.49429000000001</east>
          <west>-114.66689</west>
        </LatLonAltBox>
        <Lod>
          <minLodPixels>128</minLodPixels>
          <maxLodPixels>1024</maxLodPixels>
          <minFadeExtent>128</minFadeExtent>
          <maxFadeExtent>512</maxFadeExtent>
        </Lod>
      </Region>
      <Link>
        <href>https://url/US-AZ.kml</href>
        <viewRefreshMode>onRegion</viewRefreshMode>
      </Link>
    </NetworkLink>
    <!-- additional State KMLs for this region -->
  </Document>
</kml>

美国-AZ.kml:

<?xml version="1.0" encoding="utf-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2">
  <Document>
    <name>US-AZ</name>
    <Region>
      <LatLonAltBox>
        <north>36.244860000000003</north>
        <south>31.542739999999998</south>
        <east>-109.49429000000001</east>
        <west>-114.66689</west>
      </LatLonAltBox>
      <Lod>
        <minLodPixels>128</minLodPixels>
        <maxLodPixels>1024</maxLodPixels>
        <minFadeExtent>128</minFadeExtent>
        <maxFadeExtent>512</maxFadeExtent>
      </Lod>
    </Region>
    <Placemark>
      <name>85208</name>
      <Polygon>
        <outerBoundaryIs>
          <LinearRing>
            <coordinates>-111.68398999999999,33.393230000000003
-111.58019,33.393160000000002
-111.58078999999999,33.404260000000001
-111.58089,33.404260000000001
-111.58078999999999,33.407719999999998
-111.59789000000001,33.407760000000003
-111.59799,33.411209999999997
-111.58909,33.411250000000003
-111.58929000000001,33.414940000000001
...
            </coordinates>
          </LinearRing>
        </outerBoundaryIs>
      </Polygon>
    </Placemark>
    <!-- additional Placemarks -->
  </Document>
</kml>

它似乎适用于第一个区域和该区域中的第一个州(此示例是 US-AZ 亚利桑那州),但忽略了所有其他区域和州。所以大约有 1000 个多边形被渲染,但其他 8000 个多边形都没有被渲染。

在 Google 地球中加载 KML 时,每个状态 KML 文件都可以单独正常工作。

我遵循了用于 NetworkLink 和 Regions 的 Google Keyhole 示例,但我所做的任何其他区域和网络链接将呈现似乎并不重要。

任何想法或更好的方法来使用我可能会丢失的谷歌地图显示 8000 个多边形(并且不需要很长时间才能在地图上显示)?

4

1 回答 1

0

感谢@Christiann Adams 和@geocodezip 让我直截了当。

对于遇到此问题的其他任何人,您只能通过所有文件总共拥有 10 个网络链接(如上面的评论中所述)。

我解决它的方法是拥有多个 KML 层,每个文件不超过 10 个网络链接。这似乎对我有用。

希望它可以帮助别人。

于 2019-09-16T22:18:44.883 回答