带有Google Maps API的Kml地标列表

时间:2013-04-08 14:48:42

标签: google-maps google-maps-api-3

我想知道是否有办法使用Google Maps API显示在线托管的kml的地标。我想要做的是在我搜索在线KML时,有一个面板来浏览像google地图提供的文件夹 - > https://maps.google.com/maps?f=q&hl=en&q=http://kmlscribe.googlepages.com/SamplesInMaps.kml

使用API​​只显示KML没有任何问题,这是我的代码:

<html>
<head>
    <script type="text/javascript" src= "http://maps.google.com/maps/api/js?sensor=true">
    </script>
    <script>
var map;
var cta_layer;

function initialize() {
    var kmlUrl = 'http://kmlscribe.googlepages.com/SamplesInMaps.kml';
    var myOptions = {
        mapTypeId: google.maps.MapTypeId.ROADMAP
    }
    var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);

    cta_layer = new google.maps.KmlLayer(kmlUrl, {suppressInfoWindows: false,preserveViewport:false});
    cta_layer.setMap(map);
}
    </script>
</head>
<body onload="initialize()">
    <div id="map_canvas"  style="height: 800px;width: 800px;">
    </div>
</body>

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

查看KML的第三方解析器。 geoxml-v3拥有最好的“侧边栏”支持。您也可以使用geoxml3,但您必须自己构建侧边栏。

注意:

  1. 这两个第三方解析器在浏览器中解析KML并使用原生Google Maps API v3对象渲染它,因此它们可能会出现复杂KML的性能问题。

  2. 如果KML托管在与网页不同的域中,则需要代理才能访问KML(由于XmlHttpRequest上的域限制相同)

  3. example