Javascript 要切换从2个不同的融合表生成的层吗
我有这个JavaScript代码。我想要地图上的两个按钮。1打开层_2,另一个打开层_1。单击任一按钮后,另一层应关闭。此外,图层_1需要为默认值,并在地图打开时显示。在任何情况下,层都不应重叠Javascript 要切换从2个不同的融合表生成的层吗,javascript,toggle,layer,google-fusion-tables,Javascript,Toggle,Layer,Google Fusion Tables,我有这个JavaScript代码。我想要地图上的两个按钮。1打开层_2,另一个打开层_1。单击任一按钮后,另一层应关闭。此外,图层_1需要为默认值,并在地图打开时显示。在任何情况下,层都不应重叠 var map; var layer_1; var layer_2; var tableid_1 = 3775630; var tableid_2 = 4313734; var queryUrlHead = 'http://www.google.com/fusiontables/api/query?sq
var map;
var layer_1;
var layer_2;
var tableid_1 = 3775630;
var tableid_2 = 4313734;
var queryUrlHead = 'http://www.google.com/fusiontables/api/query?sql=';
var queryUrlTail = '&jsonCallback=?';
function initialize(col_list, order_list) {
var latlng = new google.maps.LatLng(33.7071,-111.3024);
map = new google.maps.Map(document.getElementById('map_canvas'), {
center: latlng,
zoom: 7,
mapTypeId: google.maps.MapTypeId.TERRAIN,
mapTypeControl: true,
mapTypeControlOptions: {
style: google.maps.MapTypeControlStyle.HORIZONTAL_BAR,
position: google.maps.ControlPosition.TOP_LEFT
},
scaleControl: true,
scaleControlOptions: {
position: google.maps.ControlPosition.BOTTOM_LEFT
},
});
var layer_2 = new google.maps.FusionTablesLayer(4313734);
layer_2.setMap(map);
var layer_1 = new google.maps.FusionTablesLayer(3775630);
layer_1.setMap(map);
layer_1.enableMapTips({
select: "'Name'",
from: tableid_1,
geometryColumn: 'Location',
suppressMapTips: false,
delay: 50,
tolerance: 5
});
addListeners();
}
删除初始化函数中的此行:
layer_2.setMap(map);
在初始化函数之外创建此函数
function toggleLayer(this_layer){
layer_1.setMap(null);
layer_2.setMap(null);
this_layer.setMap(map);
}
创建一些按钮:
<input type="button" value="Turn on Layer 1" onClick="toogleLayer(layer_1);">
<input type="button" value="Turn on Layer 2" onClick="toogleLayer(layer_2);">
感谢You@Eric.B当我移除图层_2.setMapmap时;在外面加上切换功能,它就不起作用了。我点击按钮,但它们不起作用。点击按钮时,图层_1消失,但图层_2不出现。我已修复了一个打字错误。另外,如果你能提供帮助,我对第二层的查询也不起作用。我可以把密码发给你。
function toggleLayer(this_layer){
if(this_layer.getMap(){
this_layer.setMap(null);
}else{
this_layer.setMap(map);
}
}