Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/470.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 谷歌地图和KML URL_Javascript_Google Maps_Kml - Fatal编程技术网

Javascript 谷歌地图和KML URL

Javascript 谷歌地图和KML URL,javascript,google-maps,kml,Javascript,Google Maps,Kml,我需要建立一个带有复选框的简单地图。每个复选框必须显示不同的KML层。我不知道如何构建它,但在谷歌代码的示例中,我找到了下面的代码 但当我在本地主机(WAMP)上测试所有文件时,当我单击复选框时,KML层不会显示。JavaScript中的其他标记显示正常,只有KML不正常 下面是显示KML层的代码。请告诉我如何更改代码以从特定URL而不是文件夹中获取markers.kml。我需要从其他网站/服务器获取KML /** * Toggles KML layer visibility. */ fun

我需要建立一个带有复选框的简单地图。每个复选框必须显示不同的KML层。我不知道如何构建它,但在谷歌代码的示例中,我找到了下面的代码

但当我在本地主机(WAMP)上测试所有文件时,当我单击复选框时,KML层不会显示。JavaScript中的其他标记显示正常,只有KML不正常

下面是显示KML层的代码。请告诉我如何更改代码以从特定URL而不是文件夹中获取markers.kml。我需要从其他网站/服务器获取KML

/**
 * Toggles KML layer visibility.
 */
function toggleKmlLayer() {
  if (!kmlLayer) {
    var kmlUrl = window.location.href.substring(
        0, 1 + window.location.href.lastIndexOf('/')) + 'markers.kml';
    kmlLayer = new google.maps.KmlLayer(kmlUrl, {
      preserveViewport: false,
      suppressInfoWindows: false
    });
  }
  showKmlLayer = !showKmlLayer;
  if (showKmlLayer) {
    kmlLayer.setMap(map);
  } else {
    kmlLayer.setMap(null);
  }
}

您的KML需要位于公开可用的URL。localhost不公开(谷歌的服务器无法访问KML)

KML和GeoRSS层

Google Maps API支持KML和GeoRSS数据格式来显示地理信息 信息。这些数据格式使用Kmlayer对象显示在地图上,该对象 构造函数获取可公开访问的KML或GeoRSS文件的URL


非常感谢,但我如何更改代码以从live server(mydomain.com/markers.KML)获取KML文件,但所有javascript和html文件都在localhost上?我问题中的代码从根文件夹抓取markers.kml,如果我理解代码的话?再说一遍,我不是程序员,我只是通过示例学习代码,但我必须为我的项目构建这种类型的映射。谢谢你的帮助!我不明白你的问题。如果KML有一个公共URL,就使用它。嘿!对不起,我的英语不好:(如果我理解这行代码(0,1+window.location.href.lastIndexOf('/'))+'markers.kml';)请从JavaScript文件所在的目录中获取kml文件。如何更改这行代码,以便从不同的URL而不是JS文件所在的同一目录中获取KML文件?我希望你明白我在找什么。KML的公共URL是什么?只需使用它(不要从当前页面的位置计算它,这就是代码所做的)。见