这是我第一次在这里发帖。我是使用Javascript或Google Maps API的新手。我有一个带有一个KML图层的地图,我想创建一个复选框,在单击时打开或关闭图层。我在网上看到了很多例子,但似乎在我的应用程序中没有任何效果。这是代码:
(function() {
window.onload = function() {
var options = {
center: new google.maps.LatLng(44.65, 22.64),
zoom: 10,
mapTypeId: google.maps.MapTypeId.TERRAIN,
mapTypeControl: true,
mapTypeControlOptions: {
mapTypeIds: [
google.maps.MapTypeId.HYBRID,
google.maps.MapTypeId.SATELLITE,
google.maps.MapTypeId.TERRAIN
]
},
streetViewControl: false
};
var map = new google.maps.Map(document.getElementById('map'), options);
var kmlUrl = 'http://googledrive.com/host/0B55_4P6vMjhITEU4Ym9iVG8yZUU/trasee.kml';
var kmlOptions = {
suppressInfoWindows: false,
preserveViewport: false,
};
var trasee = new google.maps.KmlLayer(kmlUrl, kmlOptions).setMap(map);
}
})();
我不知道要创建什么功能来切换图层的可见性,尽管我在HTML文件中创建了一个复选框:
<input type="checkbox" id="straturi" onClick="togglefunction()" />
你可以给我任何建议吗?
祝你好运, 亚历
答案 0 :(得分:0)
切换功能应该类似于
var toggleKml=function(layer) {
if(layer.getMap()===null) {
layer.setMap(map)
} else {
layer.setMap(null)
}
};
它需要在与map和trasee相同的上下文中定义,否则它将不会看到这些对象。在您的情况下,您将使用trasee作为参数
来调用它toggleKml(trasee);