3

Google 地图是否像 Google 地球一样支持 KML 区域?

谷歌在这里给出了一个很好的地区描述/教程:

https://developers.google.com/kml/documentation/regions

其中特别提到了谷歌地球,但没有提到谷歌地图。

根据https://developers.google.com/kml/documentation/kmlelementsinmaps 谷歌地图确实支持 KML 区域,但https://developers.google.com/kml/documentation/mapsSupport没有明确提及它们。

谷歌地图上的 kml 文件的缩放级别在 这个问题上也很模糊。

我创建了自己的测试 KML 文件(几乎逐字从谷歌窃取):

<?xml version="1.0" encoding="UTF-8"?>  
<kml xmlns="http://www.opengis.net/kml/2.2">  
  <Document>  
    <name>Flat Region</name>  
    <Region>  
      <LatLonAltBox>  
        <north>37.430419921875</north>  
        <south>37.41943359375</south>  
        <east>-122.080078125</east>  
        <west>-122.091064453125</west>  
      </LatLonAltBox>  
      <Lod>  
        <minLodPixels>128</minLodPixels>  
      </Lod>  
    </Region>  
    <GroundOverlay>  
      <name>Mountain View DOQQ</name>  
      <Icon>  
        <href>http://data.bcinfo3.barrycarter.info/graphpaper.gif</href>  
      </Icon>  
      <LatLonBox>  
        <north>37.430419921875</north>  
        <south>37.41943359375</south>  
        <east>-122.080078125</east>  
        <west>-122.091064453125</west>  
      </LatLonBox>  
    </GroundOverlay>  
  </Document>  
</kml>  

在这里你可以看到它:

http://test.bcinfo3.barrycarter.info/bc-image-overlay.pl?url=regiontest.kml¢er=37.425,-122.085&zoom=15

当您缩小时,即使每边只有几个像素,图像仍然可见(尽管为白色方块)。

KML 文件中的“minLodPixels”设置为 128 是否意味着一旦占用少于 128 个像素,它就应该停止可见?

如果是这样,这会证明 Google 地图不支持 KML 区域吗?

还是我误解了什么?

4

1 回答 1

0

我不能给你一个完整的解决方案,但我试图避免在大约一年前使用地图中的区域过度拥挤我的点(在 SO 上问了一个类似的问题),我的理解是 KmlLayer 不会识别区域而只是加载所有内容. 我能找到的唯一参考是论坛帖子,例如:http ://code.google.com/p/gmaps-api-issues/issues/detail?id=3142

也就是说,我当时的理解是,这可以通过使用 API 在 javascript 中添加叠加层和区域来实现 - 我只是看了看,我找不到一个很好的例子(或任何例子)。

在我看来,编写自定义叠加层并覆盖绘图函数以在地图缩放时显示/隐藏之前考虑叠加层的大小应该很容易:https ://developers.google.com /maps/documentation/javascript/overlays#Drawing

当我们围绕它实现一些我们需要的功能时,我打算采用哪种方式 - 但不能解决直接从 KML 实现的问题。有趣的是您链接到表明它受支持的文档。

于 2013-09-06T23:05:08.767 回答