【问题标题】:Google Maps - Unable to Access KML file for KML LayerGoogle 地图 - 无法访问 KML 图层的 KML 文件
【发布时间】:2016-06-21 11:05:04
【问题描述】:

我正在使用 KML 图层在网站中嵌入 Google 地图,但我正在努力解决我认为非常基本的问题。

我的计算机上有一个 KML 文件,我想将它作为 KML 图层添加到我的地图中,但我不知道如何“访问”该特定文件。我已将网址设置为url: '/../data/Bus27route.kml.xml',,目前我的谷歌地图上没有任何内容。现在,' ' 标记之间的内容只是“数据”目录中文件“Bus27route.kml.xml”的“方向”。

“ ”标记内应包含什么才能访问我计算机上的文件?还是我在代码中的其他地方访问此文件时出错?

感谢任何认为他们可以帮助我的人!非常感谢任何 cmets、建议、问题等。

    function initMap(lat, lng) {
  var myLatLng = {lat: lat, lng: lng};

  // Create a map object and specify the DOM element for display.
  var map = new google.maps.Map(document.getElementById('bus_1_map'), {
    center: myLatLng,
    scrollwheel: false,
    zoom: 12
  });

var bus27Route = new google.maps.KmlLayer({
    url: '/../data/Bus27route.kml.xml',
    map: map
  });
}

【问题讨论】:

  • KMLLayer 的网址必须公开(可由 Google 的服务器访问)。您需要提供完整的 URL。

标签: google-maps express kml


【解决方案1】:

无法在本地访问 KML 文件,每个基于 google 的服务必须通过 Internet 上的可公开访问的服务器进行。它会尝试将您的文件放在可从 Internet 访问的服务器上(也有免费服务)

这个表格谷歌地图开发者

您的文件在互联网上公开托管。这是一个要求 适用于将 KML 加载到 KMLLayer 中的所有应用程序。谷歌的服务器 需要能够查找和检索内容才能显示 它在地图上 - 这也意味着文件不能在 受密码保护的页面。

https://developers.google.com/maps/tutorials/kml/#your_kml_file

【讨论】:

  • 我使用谷歌网站创建了一个免费网站,并按照开发者网站的指示上传了我的 KML 文件。我的代码现在看起来像这样,但我的地图仍然显示,但我的 KML 图层没有 function initMap(lat, lng) { var myLatLng = {lat: lat, lng: lng}; var map = new google.maps.Map(document.getElementById('bus_1_map'), { center: myLatLng, scrollwheel: false, zoom: 12 }); var bus27Route = new google.maps.KmlLayer({ url: 'https://sites.google.com/site/kmlroute/home/kml', map: map });
  • 我不明白......最好把它作为一个新问题发布
【解决方案2】:

当您添加 KmlLayer 时,Google Maps API 会告诉 Google 服务器“您的 kml 文件在互联网上的位置。”

然后 Google bot 访问您的公共服务器以获取 KML 文件。

之后,地图图块会在 Google Server 中生成,然后最终出现在您的地图上。

这就是您必须将您的 KML 文件放在公共服务器中的原因。

【讨论】:

    猜你喜欢
    • 2016-05-28
    • 2011-04-22
    • 1970-01-01
    • 1970-01-01
    • 2017-08-10
    • 1970-01-01
    • 1970-01-01
    • 2019-02-08
    • 2012-04-08
    相关资源
    最近更新 更多