【问题标题】:Kml placemarks list with Google Maps API带有 Google Maps API 的 Kml 地标列表
【发布时间】:2013-04-08 14:48:42
【问题描述】:

我想知道是否有一种方法可以显示使用 Google Maps API 在线托管的 kml 的地标。我想做的是有一个面板来导航文件夹,就像我搜索在线 KML 时谷歌地图提供的那样 -> 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>

感谢您的帮助。

【问题讨论】:

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


    【解决方案1】:

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

    注意事项:

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

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

    example

    【讨论】:

      猜你喜欢
      • 2012-05-20
      • 1970-01-01
      • 1970-01-01
      • 2011-02-20
      • 2011-04-22
      • 1970-01-01
      • 1970-01-01
      • 2013-01-01
      • 1970-01-01
      相关资源
      最近更新 更多