【问题标题】:Google maps api - add a kml layer to a mapGoogle maps api - 向地图添加 kml 图层
【发布时间】:2011-11-21 22:55:11
【问题描述】:

我一直在通过 javascript 使用 google maps api(我也是 javascript 新手)。 我已经尝试按照 api 示例向地图添加信息窗口和标记。

我想要做的是将 KML 文件叠加到爱尔兰地图上 - 我在融合表中搜索了包含爱尔兰县边界信息的 KML 文件。

kml 文件来自此处的融合表: http://www.google.com/fusiontables/DataSource?dsrcid=935280&search=ireland+counties&cd=0

我将它导出到一个 kml 文件并上传到一个公共网站(请参阅 javascript - 我不能发布超过 2 个链接)

我正在尝试在下面的链接中加载 kml 文件 - 我选择的地图出现了,但 KML 叠加层没有出现。 http://songsaboutsuperheroes.com/index.html

我尝试使用指向融合表 ID 的链接,但没有成功。 我也尝试使用 KML 网络链接,但没有成功。

所以我尝试像在教程中看到的那样直接加载 KML 文件。 谁能指出我正确的方向 - 我不确定我做错了什么 - 在此先感谢!

这是我正在使用的 Javascript:

  function initialize() {

    var latlng = new google.maps.LatLng(53.36942,-6.378288);

    var myOptions = {
                        zoom: 7 ,
                        center: latlng,
                        mapTypeId: google.maps.MapTypeId.ROADMAP
                    };


    var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);                       


  var myLayer = new google.maps.KmlLayer(
       'http://songsaboutsuperheroes.com/Ireland_Counties.kml');
  myLayer.setMap(map);
 }

【问题讨论】:

    标签: google-maps-api-3


    【解决方案1】:

    这行得通 - 我直接访问了保存 kml 数据的融合表:

    var latlng = new google.maps.LatLng(53.36942,-6.378288);
    
    var myOptions = {
            zoom: 7,
            center: latlng,
            mapTypeId: google.maps.MapTypeId.ROADMAP
            };
    
    
    var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);                       
    layer = new google.maps.FusionTablesLayer(935280, {
                                             suppressInfoWindows: true
                                        });
    
    layer.setQuery("select geometry,name_1 from 935280");
    layer.setMap(map);
    

    【讨论】:

      【解决方案2】:
          var kmlUrl = 'http://www.yoursite.com/YOUR_KML_FILE.kml';
      
       var KML_single = new google.maps.KmlLayer(kmlUrl, {color:"#4385F1" } );
      
      
       KML_single.setMap(map);
      
      
          EXML_single = new GeoXml("EXML_single", map, kmlUrl, {
                                  sidebarid:"sidebar",
                                  iwwidth:280
      
                              }); 
          EXML_single.parse('SOME LOADING TEXT HERE');
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2013-06-27
        • 2011-02-20
        • 1970-01-01
        • 1970-01-01
        • 2016-08-20
        • 2013-06-28
        • 2013-04-28
        相关资源
        最近更新 更多