【发布时间】:2012-12-14 20:20:46
【问题描述】:
是否可以一键选择两个 Google 地图多边形图层。我可以添加两层:建筑物和地块。我可以单独访问每个图层,但如果我单击地块图层顶部建筑物所在的地图,则只会检索到建筑物图层。
添加图层的脚本:
var otrParcel = new google.maps.FusionTablesLayer({
query: {
select: "'Geometry'",
from: otrParcLayer
},
suppressInfoWindows: true,
map: map
});
var otrBuilding = new google.maps.FusionTablesLayer({
query: {
select: "'Geometry'",
from: otrBldgLayer
},
suppressInfoWindows: true,
map: map
});
我正在尝试通过 1 次单击从两个图层中检索 infoWindoHtml。这适用于单独构建和包裹,但不适用于 1 在另一个之上。附件是我尝试执行此操作的最新尝试。当我单击带有包裹的建筑物时,第一个侦听器功能无法正常工作。第二个监听函数工作正常。
google.maps.event.addListener(otrBuilding , 'click', function(e) {
var infoBubble = new InfoBubble({
maxWidth: 300
});
infoBubble.addTab('Building', e.infoWindowHtml );
var layer = new google.maps.FusionTablesLayer({
query: {
select: "'geometry'",
from: otrParcLayer,
where: "ST_INTERSECTS('geometry', CIRCLE(LATLNG(e.latLng), 0.001))",
limit:1
}
});
infoBubble.addTab('Parcel', layer.infoWindowHtml);
infoBubble.addTab('Contact', contacInfo() );
if (!infoBubble.isOpen()) {
infoBubble.setPosition(e.latLng);
infoBubble.open(map);
};
});
google.maps.event.addListener(otrParcel , 'click', function(e) {
var infoBubble = new InfoBubble({
maxWidth: 300
});
infoBubble.addTab('Parcel', e.infoWindowHtml);
infoBubble.addTab('Contact', contacInfo() );
if (!infoBubble.isOpen()) {
infoBubble.setPosition(e.latLng);
infoBubble.open(map);
};
});
这是我正在测试的页面的链接。加载地图时,我正在使用右下角的建筑物(金刚砂剧院)进行测试。它的中间有一个甜甜圈洞。单击外环应包括建筑物和地块信息(它没有)。点击中间只会显示包裹信息。
【问题讨论】:
标签: google-maps-api-3 google-fusion-tables