1

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

4

1 回答 1

0

我建议您使用以下结构。使用这种方法,您不必为每一层编写单独的函数,而只需为这一层编写。请注意,此处“输入”标签的“id”用作 KML 文件名。您可能希望看到这个问题。如果向前看,那么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);
于 2012-05-19T13:21:09.217 回答