Javascript 谷歌地图-基于缩放级别显示融合表图层
我试图显示基于缩放级别的融合表图层,但地图上仅显示缩放级别1上的第一个图层,而代码中的其他图层则根本不显示,无论缩放级别1上的缩放级别图层始终保留在地图上。代码如下:Javascript 谷歌地图-基于缩放级别显示融合表图层,javascript,google-maps,google-maps-api-3,Javascript,Google Maps,Google Maps Api 3,我试图显示基于缩放级别的融合表图层,但地图上仅显示缩放级别1上的第一个图层,而代码中的其他图层则根本不显示,无论缩放级别1上的缩放级别图层始终保留在地图上。代码如下: <html> <head> <script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script> <script type="text/javascript
<html>
<head>
<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script>
<script type="text/javascript">
var center = new google.maps.LatLng(-40.979898,173.305662);
function init() {
map = new google.maps.Map(document.getElementById('map_canvas'), {
center: center,
zoom: 6,
mapTypeId: google.maps.MapTypeId.ROADMAP
});
var parcel_boundary = new google.maps.FusionTablesLayer({
query: {
select: 'parcel_boundary_1_9999',
from: '1ouLS0fm8tPPQNQRpr-bwE4ct-cBkMB-Ru_XttDQ'
},
styles: [{
polygonOptions: {
strokeColor: "#333333",
strokeOpacity: 0.8,
strokeWeight: 0.7,
fillColor: "#36549C",
fillOpacity: 0.3
}
}]
});
var meshblock_1_24113 = new google.maps.FusionTablesLayer({
query: {
select: 'meshblock_1_24113',
from: '1nLxnoXlipws7PfjBihBBGL2BVd7OKdxThSuLVRs'
}
});
var territorial_authority = new google.maps.FusionTablesLayer({
query: {
select: 'territorial_authority',
from: '1YBAtek3BB_sQsxHPJxDTP6Pa6Fy_N12iQ8bIZQQ'
},
styles: [{
polygonOptions: {
strokeColor: "#333333",
strokeOpacity: 0.8,
strokeWeight: 0.7,
fillColor: "#C42D24",
fillOpacity: 0.3
}
}]
});
var zoom = map.getZoom();
if (zoom >=1 && zoom <=8) {
territorial_authority.setMap(map);
meshblock_1_24113.setMap(null);
parcel_boundary.setMap(null);
}
if (zoom >9 && zoom <=10) {
territorial_authority.setMap(null);
meshblock_1_24113.setMap(map);
parcel_boundary.setMap(null);
}
else if (zoom >11 && zoom <=15) {
territorial_authority.setMap(null);
meshblock_1_24113.setMap(null);
parcel_boundary.setMap(map);
}
;
}
</script>
</head>
<body id="body" onload="init();">
<div id="map_canvas" style="position:absolute; border-style:solid; border-width:1px; border-color:#333333; left:50%; top:20px; width:1000px; height:860px; z-index:1; margin-left: -500px;"></div>
</body>
</html>
有人遇到过这样的问题吗?您的代码没有包含地图上缩放更改事件的侦听器,该事件将在地图上缩放更改时触发,并允许您在新的缩放级别上执行操作
google.maps.event.addListener(map,"zoom_changed", function() {
var zoom = map.getZoom();
if (zoom >=1 && zoom <=9) {
territorial_authority.setMap(map);
meshblock_1_24113.setMap(null);
parcel_boundary.setMap(null);
}
else if (zoom >9 && zoom <=11) {
territorial_authority.setMap(null);
meshblock_1_24113.setMap(map);
parcel_boundary.setMap(null);
}
else if (zoom >11) {
territorial_authority.setMap(null);
meshblock_1_24113.setMap(null);
parcel_boundary.setMap(map);
}
});