Google maps api 3 带有onClick和自定义图标的融合表问题
我试图通过使用复选框使图层点击和关闭,但由于某些原因,我遗漏了一些内容,无法使其再次点击和关闭。我还想为每个层添加自定义标记,但根本没有成功 这是我正在使用的代码。我将非常感谢在这方面的任何帮助,我是如此新的工作与此代码Google maps api 3 带有onClick和自定义图标的融合表问题,google-maps-api-3,google-fusion-tables,Google Maps Api 3,Google Fusion Tables,我试图通过使用复选框使图层点击和关闭,但由于某些原因,我遗漏了一些内容,无法使其再次点击和关闭。我还想为每个层添加自定义标记,但根本没有成功 这是我正在使用的代码。我将非常感谢在这方面的任何帮助,我是如此新的工作与此代码 var map; var layerl0; var layerl1; function initialize() { map = new google.maps.Map(document.getElementById('map-canvas'
var map;
var layerl0;
var layerl1;
function initialize() {
map = new google.maps.Map(document.getElementById('map-canvas'), {
center: new google.maps.LatLng(62.683556,-152.314453),
zoom: 4,
mapTypeId: google.maps.MapTypeId.ROADMAP
});
layerl0 = new google.maps.FusionTablesLayer({
query: {
select: "'col0'",
from: '1suBUHqahw5W9f6A6kEVhh-NWmqSbukYqdtnJLWs'
},
map: map,
styleId: 2,
templateId: 3
});
layerl1 = new google.maps.FusionTablesLayer({
query: {
select: "'col0'",
from: '1ra3TP6cbWmdAOayLgzCugLrhdmDAO6UJIFuty9E'
},
map: map,
styleId: 2,
templateId: 3
});
}
function changeMapl0() {
var searchString = document.getElementById('search-string-l0').value.replace(/'/g, "\\'");
layerl0.setOptions({
query: {
select: "'col0'",
from: '1suBUHqahw5W9f6A6kEVhh-NWmqSbukYqdtnJLWs',
where: "'category' = '" + searchString + "'"
}
});
}
function changeMapl1() {
var searchString = document.getElementById('search-string-l1').value.replace(/'/g, "\\'");
layerl1.setOptions({
query: {
select: "'col0'",
from: '1ra3TP6cbWmdAOayLgzCugLrhdmDAO6UJIFuty9E',
where: "'category' = '" + searchString + "'"
}
});
}
google.maps.event.addDomListener(window, 'load', initialize);
</script>
</head>
<body>
<div id="map-canvas"></div>
<div style="margin-top: 10px;">
<form>
<input type="checkbox" value="CRCD" checked="checked" id="search-string-l0" onClick="changeMapl0(this.value);">CRCD Learning Centers
<input type="checkbox" value="Research" checked="checked" id="search-string-l1" onClick="changeMapl1(this.value);">Off-site Research
</form>
</div>
var映射;
var层0;
第1层;
函数初始化(){
map=new google.maps.map(document.getElementById('map-canvas'){
中心:新google.maps.LatLng(62.683556,-152.314453),
缩放:4,
mapTypeId:google.maps.mapTypeId.ROADMAP
});
layerl0=新建google.maps.FusionTablesLayer({
查询:{
选择:“'col0'”,
发件人:“1suBUHqahw5W9f6A6kEVhh NWmqSbukYqdtnJLWs”
},
地图:地图,
styleId:2,
模板ID:3
});
layerl1=新建google.maps.FusionTablesLayer({
查询:{
选择:“'col0'”,
发件人:“1RA3TP6CBWMDAOAYLGZCUGLRDMDAO6UJIFUTY9E”
},
地图:地图,
styleId:2,
模板ID:3
});
}
函数changeMapl0(){
var searchString=document.getElementById('search-string-l0').value.replace(/'/g,“\\'”);
layerl0.setOptions({
查询:{
选择:“'col0'”,
发件人:“1suBUHqahw5W9f6A6kEVhh NWmqSbukYqdtnJLWs”,
其中:“'category'='”+searchString+“”
}
});
}
函数changeMapl1(){
var searchString=document.getElementById('search-string-l1').value.replace(/'/g,“\\'”);
layerl1.setOptions({
查询:{
选择:“'col0'”,
发件人:“1RA3TP6CBWMDAOAYLGZCUGLRDMDAO6UJIFUTY9E”,
其中:“'category'='”+searchString+“”
}
});
}
google.maps.event.addDomListener(窗口“加载”,初始化);
CRCD学习中心
场外研究
您的问题是,您的changeMap函数实际上不会根据复选框的值执行任何操作:
function changeMapl0() {
var searchString = document.getElementById('search-string-l0').value.replace(/'/g, "\\'");
layerl0.setOptions({
query: {
select: "'col0'",
from: '1suBUHqahw5W9f6A6kEVhh-NWmqSbukYqdtnJLWs',
where: "'category' = '" + searchString + "'"
}
});
}
请尝试以下方法:
function changeMapl0() {
if (document.getElementById('search-string-l0').checked )
{ layerl0.setMap(map); }
else
{ layerl0.setMap(null); }
}
非常感谢您。碰巧你会知道如何让每个地图的自定义图标工作。我在那方面肯定会感到困惑。我有图标,只是不知道如何让每个地图使用它们。