信息 window 两层多边形和标记
Info window two layers polygon and marker
我一直在使用融合表图层向导。第一层是带有城市内标记的地图。第二个是这个城市的多边形。在新地图中,我只希望第一层的信息window起作用。如何抑制多边形的信息 window?这是代码:
<!DOCTYPE html>
<html>
<head>
<style>
#map-canvas { width:500px; height:400px; }
.layer-wizard-search-label { font-family: sans-serif };
</style>
<script type="text/javascript"
src="http://maps.google.com/maps/api/js?sensor=false">
</script>
<script type="text/javascript">
var map;
var layer_0;
var layer_1;
function initialize() {
map = new google.maps.Map(document.getElementById('map-canvas'), {
center: new google.maps.LatLng(49.38240150737995, 11.039327819824182),
zoom: 10,
mapTypeId: google.maps.MapTypeId.ROADMAP
});
layer_0 = new google.maps.FusionTablesLayer({
query: {
select: "col1",
from: "1MamWhdXCiB-m2Ak9gppNY9ZflBJsdGWvhSSR9NMB"
},
map: map,
styleId: 3,
templateId: 4
});
layer_1 = new google.maps.FusionTablesLayer({
query: {
select: "col8",
from: "1Xr-majg8ib430CcbcPP3OR50Eoe3biu0cczlhw1Y"
},
map: map,
styleId: 2,
templateId: 2
});
}
google.maps.event.addDomListener(window, 'load', initialize);
</script>
</head>
<body>
<div id="map-canvas"></div>
</body>
</html>
通过将 "suppressInfoWindows: true" 选项添加到您不希望具有信息窗口的图层的 FusionTablesLayer 构造函数来禁用默认信息窗口。
suppressInfoWindows | Type: boolean
Suppress the rendering of info windows when layer features are clicked.
您还需要将多边形图层放在底部(先添加到地图)。
代码片段:
var map;
var layer_0;
var layer_1;
function initialize() {
map = new google.maps.Map(document.getElementById('map-canvas'), {
center: new google.maps.LatLng(49.38240150737995, 11.039327819824182),
zoom: 10,
mapTypeId: google.maps.MapTypeId.ROADMAP
});
// polygons, no infowindow, put on bottom
layer_1 = new google.maps.FusionTablesLayer({
query: {
select: "col8",
from: "1Xr-majg8ib430CcbcPP3OR50Eoe3biu0cczlhw1Y"
},
map: map,
suppressInfoWindows: true,
styleId: 2,
templateId: 2
});
// markers, infowindows, put on top
layer_0 = new google.maps.FusionTablesLayer({
query: {
select: "col1",
from: "1MamWhdXCiB-m2Ak9gppNY9ZflBJsdGWvhSSR9NMB"
},
map: map,
styleId: 3,
templateId: 4
});
}
google.maps.event.addDomListener(window, 'load', initialize);
html,
body,
#map-canvas {
height: 100%;
width: 100%;
margin: 0px;
padding: 0px
}
<script src="https://maps.googleapis.com/maps/api/js"></script>
<div id="map-canvas"></div>
我一直在使用融合表图层向导。第一层是带有城市内标记的地图。第二个是这个城市的多边形。在新地图中,我只希望第一层的信息window起作用。如何抑制多边形的信息 window?这是代码:
<!DOCTYPE html>
<html>
<head>
<style>
#map-canvas { width:500px; height:400px; }
.layer-wizard-search-label { font-family: sans-serif };
</style>
<script type="text/javascript"
src="http://maps.google.com/maps/api/js?sensor=false">
</script>
<script type="text/javascript">
var map;
var layer_0;
var layer_1;
function initialize() {
map = new google.maps.Map(document.getElementById('map-canvas'), {
center: new google.maps.LatLng(49.38240150737995, 11.039327819824182),
zoom: 10,
mapTypeId: google.maps.MapTypeId.ROADMAP
});
layer_0 = new google.maps.FusionTablesLayer({
query: {
select: "col1",
from: "1MamWhdXCiB-m2Ak9gppNY9ZflBJsdGWvhSSR9NMB"
},
map: map,
styleId: 3,
templateId: 4
});
layer_1 = new google.maps.FusionTablesLayer({
query: {
select: "col8",
from: "1Xr-majg8ib430CcbcPP3OR50Eoe3biu0cczlhw1Y"
},
map: map,
styleId: 2,
templateId: 2
});
}
google.maps.event.addDomListener(window, 'load', initialize);
</script>
</head>
<body>
<div id="map-canvas"></div>
</body>
</html>
通过将 "suppressInfoWindows: true" 选项添加到您不希望具有信息窗口的图层的 FusionTablesLayer 构造函数来禁用默认信息窗口。
suppressInfoWindows | Type: boolean
Suppress the rendering of info windows when layer features are clicked.
您还需要将多边形图层放在底部(先添加到地图)。
代码片段:
var map;
var layer_0;
var layer_1;
function initialize() {
map = new google.maps.Map(document.getElementById('map-canvas'), {
center: new google.maps.LatLng(49.38240150737995, 11.039327819824182),
zoom: 10,
mapTypeId: google.maps.MapTypeId.ROADMAP
});
// polygons, no infowindow, put on bottom
layer_1 = new google.maps.FusionTablesLayer({
query: {
select: "col8",
from: "1Xr-majg8ib430CcbcPP3OR50Eoe3biu0cczlhw1Y"
},
map: map,
suppressInfoWindows: true,
styleId: 2,
templateId: 2
});
// markers, infowindows, put on top
layer_0 = new google.maps.FusionTablesLayer({
query: {
select: "col1",
from: "1MamWhdXCiB-m2Ak9gppNY9ZflBJsdGWvhSSR9NMB"
},
map: map,
styleId: 3,
templateId: 4
});
}
google.maps.event.addDomListener(window, 'load', initialize);
html,
body,
#map-canvas {
height: 100%;
width: 100%;
margin: 0px;
padding: 0px
}
<script src="https://maps.googleapis.com/maps/api/js"></script>
<div id="map-canvas"></div>