【问题标题】:Could we use a kml file from localhost? [duplicate]我们可以使用来自 localhost 的 kml 文件吗? [复制]
【发布时间】:2025-11-23 05:30:02
【问题描述】:

这是我的问题:我想使用本地服务器上的 kml 文件,但它不起作用。

这是我的代码:

function initialize() {
  var chicago = new google.maps.LatLng(48.807,2.137);
  var mapOptions = {
    zoom: 11,
    center: chicago
  }

  var map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions);

  var ctaLayer = new google.maps.KmlLayer({
    url: '78.kml'
  });
  ctaLayer.setMap(map);
}

google.maps.event.addDomListener(window, 'load', initialize);

我在这个网站上尝试了我的 kml 文件,它工作正常

现在可以使用此代码:

<script type="text/javascript" src="http://geoxml3.googlecode.com/svn/branches/polys/geoxml3.js"></script>
        <script type="text/javascript">
            function initialize() {
  var chicago = new google.maps.LatLng(48.807,2.137);
  var mapOptions = {
    zoom: 11,
    center: chicago
  }
  var map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions);
var myKmlOptions = {
        preserveViewport: true,
        suppressInfoWindows: true
    }
var myParser = new geoXML3.parser({map: map});
myParser.parse('78.kml');
  //var ctaLayer = new google.maps.KmlLayer("http://localhost/monDossier/78Yvelines.kml",{color:"#4385F1" } );
  //ctaLayer.setMap(map);
}

google.maps.event.addDomListener(window, 'load', initialize);
        </script>

【问题讨论】:

    标签: javascript google-maps kml


    【解决方案1】:

    不(至少不使用 KmlLayer),KML URL 必须公开可用。 localhost 不公开。

    from the documentation

    displayed on a map using a KmlLayer object, whose constructor takes the URL of a **publicly accessible KML** or GeoRSS file.

    您可以使用像 geoxml3geoxml-v3 这样的第三方解析器,它们将 KML 呈现为原生 Google Maps Javascript API v3 对象,但对于复杂的 KML 会有性能问题。

    【讨论】:

      最近更新 更多