Google地图上的多Kml图层

时间:2012-05-16 14:17:17

标签: maps kml layer

我开发了一个简单的谷歌地图网页。我需要有任何有谷歌地图经验的人的帮助。在我的网页的右侧面板中,我添加了一些复选框,我想用这些复选框链接不同的kml。当我检查所有图层时,所有kml都显示在谷歌地图中,​​当我取消选中任何图层复选框时,与该复选框相关的kml将消失。请指导我如何做到这一点。 请从此链接查看页面 http://toptrippk.com/webgis/kml%20layers.html

1 个答案:

答案 0 :(得分:0)

我建议您使用以下结构。使用此方法,您不必为每个图层编写单独的函数,只需编写此图层。请注意,此处'input'标记的'id'用作KML文件名。您可能希望看到此question。如果期待,那么geoxml3可能是您的选择。

var G = google.maps;
function toggle() {
if (!this.kml)
{this.kml = new G.KmlLayer('http://toptrippk.com/webgis/uploadfiles/kml/' + this.id + '.kml', {preserveViewport:true}); this.on = false};

if (this.on)
{this.kml.setMap(null); this.on = false} else {this.kml.setMap(map); this.on = true};
};

function initialize() {
var layers = document.getElementsByTagName('input');
var options = {};
map = new G.Map(document.getElementById('map_canvas'), options);
for (var i=0; i<layers.length; i++) {G.event.addDomListener(layers[i], 'click', toggle)};};
G.event.addDomListener(window, 'load', initialize);