【问题标题】:Google Maps will not load KML layer from my siteGoogle 地图不会从我的站点加载 KML 图层
【发布时间】:2015-07-30 23:22:55
【问题描述】:

我有一个包含 kml 的网站。 kml 在 Google 地图中显示为图层。这些地图在同一个站点上。直到最近(5 月 12 日),这工作得很好,但现在它停止工作了。 kml 本身是可以的,可以在 Google Earth 中使用。当我将 kml 复制到另一个站点时,我可以毫无问题地将其加载到 Google Maps 中。 我的网站是否有可能出于某种原因被列入“黑名单”?流量很低。我没有使用 API 密钥。我现在这样做了,但这并没有解决问题。

您可以在这里看到不同之处:
1 - with kml from my site
2 - with kml placed elsewhere
第一个失败,第二个有效。放置在其他地方的 kml 是我网站上的 kml 的精确副本。我网站上的 kml 使用媒体类型 application/vnd.google-earth.kml+xml 提供。它是动态生成的。

【问题讨论】:

  • 对这个问题投反对票的人是个白痴。赞成我也需要回答的相关问题。

标签: google-maps kml


【解决方案1】:

来自Google Maps documentation

从 2015 年 2 月起,在经典 Google 地图(https://maps.google.com/)中创建的地图将不再从外部网站加载 KML/KMZ 文件。但是,我们知道 KML 文件是处理地理数据的一种非常有用的方式,因此我们已将 KML 添加到 Google 我的地图中,并继续通过其他 Google 地图 API 支持这种格式。我们希望这些选项之一能够满足您的需求。

【讨论】:

  • 我知道。但 2 月份的变化是,之前,您可以通过将其 url 作为查询参数传递给 Google Maps 站点来加载 kml 字段。这停止了​​,相反,您必须使用 javascript API 在您自己的网站上的 Google 地图中加载 kml 图层。我做了那个开关,它工作,直到几天前。当我从另一个站点加载 kml 文件的副本时,它仍然有效。
  • 请在您的问题中添加详细信息以澄清这一点。
  • 好的,我做到了。我将我的评论作为第二段添加到问题中。
【解决方案2】:

两者都有效,一个无效的返回 KmlStatus FETCH_ERROR。作为一种猜测,我会说动态生成花费了太长时间。但是您的服务器上可能有一些安全措施阻止 Google 的服务器获取它。

来自the documentation

FETCH_ERROR 无法获取文档。

  1. from your site

  2. placed elsewhere

【讨论】:

  • 谢谢。现在为了测试它是动态生成还是安全性,我在我的服务器上放了一个非常小的静态 kml 文件 (data.3tu.nl/downloads/test/test-small.kml),这也给出了 FETCH_ERROR。所以动态生成不是问题,这让我们在服务器上保持安全。我们将进一步调查。
【解决方案3】:

等了几天,问题就自动解决了。我们只能猜测是什么原因造成的,可能是我们服务器上的一个临时故障导致谷歌暂时离开和/或破坏它的缓存。无论如何,感谢您的反应,至少我学到了一些关于测试我的 kml 的知识。

【讨论】:

    【解决方案4】:

    在我的情况下,我在 kml 状态上得到了 FETCH_ERROR-

    因为我的网站只允许 tls 1.2 安全连接。

    当我将文件放在另一台服务器上时,它就可以工作了。


    更新 1-

    一段时间后又发生了,这次使用同一个域名有帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-05-28
      • 2017-08-10
      • 1970-01-01
      • 1970-01-01
      • 2021-04-07
      • 2016-06-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多