2011-11-21 218 views
0

我已经通过JavaScript中的谷歌地图API玩弄(我也有新的JavaScript)。 我已经尝试通过以下的API示例添加信息窗口和标记到地图中。谷歌地图API - 添加KML图层到地图

我想要做的是覆盖一个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); 
} 

回答

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); 
+0

缩进四个空格代码格式化它。 – Amy

0
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');