Ist es möglich, zwei Google Maps-Polygon-Ebenen mit einem Klick auszuwählen. Ich kann zwei Ebenen hinzufügen: Gebäude und Parzellen. Ich kann auf jede Ebene einzeln zugreifen, aber wenn ich auf die Karte klicke, wo das Gebäude über der Parzellen-Ebene liegt, wird nur die Gebäudeebene abgerufen.
Skript zum Hinzufügen von Ebenen:
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
});
Ich versuche, das infoWindoHtml von beiden Ebenen mit einem Klick abzurufen. Dies funktioniert für Gebäude und Parzellen separat, aber nicht, wenn eins über dem anderen liegt. Hier ist mein letzter Versuch, dies zu tun. Die erste Listener-Funktion funktioniert nicht richtig, wenn ich auf ein Gebäude mit einer Parzelle klicke. Die zweite Listener-Funktion funktioniert ordnungsgemäß.
google.maps.event.addListener(otrBuilding , 'click', function(e) {
var infoBubble = new InfoBubble({
maxWidth: 300
});
infoBubble.addTab('Gebäude', 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('Parzelle', layer.infoWindowHtml);
infoBubble.addTab('Kontakt', 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('Parzelle', e.infoWindowHtml);
infoBubble.addTab('Kontakt', contacInfo() );
if (!infoBubble.isOpen()) {
infoBubble.setPosition(e.latLng);
infoBubble.open(map);
};
});
Hier ist ein Link zur Seite, die ich teste. Wenn die Karte geladen wird, ist das Gebäude unten rechts (Emery Theater) das, was ich für den Test verwende. Es hat ein Donutloch in der Mitte. Ein Klick auf den äußeren Ring sollte die Gebäude- und Parzelleninformationen enthalten (was es nicht tut). Ein Klick in die Mitte zeigt nur die Parzelleninformationen an.