我的KML文件无法处理Javascript代码

时间:2015-09-02 07:34:36

标签: javascript google-maps kml

当我尝试添加我从谷歌地图导出的文件'myFile.kml'时,它不会显示我的地图的任何路径,而谷歌'http://googlemaps.github.io/js-v2-samples/ggeoxml/cta.kml'的示例确实可以正常工作? 知道我在这里缺少什么。

这是我的HTML代码:

<!DOCTYPE html>
<html lang="en" >
<head>
    <meta charset="UTF-8">
    <title></title>
    <style type="text/css">
        html, body {
            height: 100%;
            margin: 0;
            padding: 0;
        }
        #map {
            height:100%
        }
    </style>
</head>
<body >


    <div id="map"></div>

<script src="https://maps.googleapis.com/maps/api/js?signed_in=true&callback=initMap"></script>
<script src="script.js"></script>
</body>
</html>

我的JS代码:

    var map;
    function initMap() {
        map = new google.maps.Map(document.getElementById('map'), {
            center: {lat: 42.658324, lng: 21.163883},
            zoom: 10
        });
        var ctaLayer = new google.maps.KmlLayer({
            url: 'myFile.kml',
            map: map
        });

}

1 个答案:

答案 0 :(得分:0)

您似乎正在尝试从localhost或本地文件系统加载KML文件。

如果是这样,基本上你有两个选择:

  • 将KML文件放在google服务器所在的公共服务器上 可以得到,因为解析KML和渲染完成 Google服务器
  • 利用geoxml3 library允许您加载KML文件和 解析托管在localhost (见下面的例子)

示例

该示例演示了如何使用geoxml3 library

从localhost加载和解析KML文件
var map;
function initMap() {
    map = new google.maps.Map(document.getElementById('map'), {
        center: { lat: 41.876, lng: -87.624 },
        zoom: 10
    });


    var myParser = new geoXML3.parser({ map: map });
    myParser.parse('cta.kml');
}

在HTML文件中添加对geoxml3 library的引用,例如:

<script type="text/javascript" src="http://geoxml3.googlecode.com/svn/branches/polys/geoxml3.js"></script>

Plunker