2013-04-08 120 views
0

我想知道是否有方法显示使用Google地图API的kml托管在线地标。我想要做的是在我搜索在线KML时使用面板导航文件夹(如Google地图提供的文件夹) - >https://maps.google.com/maps?f=q&hl=en&q=http://kmlscribe.googlepages.com/SamplesInMaps.kmlKML与Google Maps API的地标列表

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

<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> 

谢谢你的帮助。

回答

0

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

注:

  1. 这两个第三方解析器解析KML浏览器,并使用自带谷歌地图API V3对象渲染它,所以他们可能有性能问题,对于复杂的KML。

  2. 如果KML是从网页不同的域名托管,他们需要代理服务器来访问KML(由于XmlHttpRequest的同一域限制)

example

+0

是否有可能在google api中这样做 – phponwebsites 2015-04-27 07:12:45