Wie auf Marker unter Vector Layer klicken?
-
Wie auf Marker unter Vector Layer klicken? · janmartin3 (Gast) · 14.02.2011 10:26 · [flux]
Hallo,
habe obenauf ein Vector Layer mit dem Zeiger-Icon und darunter ein GML Layer mit vielen runden grünen Markern.
Wie kann ich trotzdem auf die Marker klicken?http://www.diy-streetview.org/data/deve … sting.html
http://www.diy-streetview.org/data/deve … llbacks.jsDanke,
Jan- Re: Wie auf Marker unter Vector Layer klicken? · maxbe (Gast) · 16.02.2011 13:39 · [flux]
janmartin3 wrote:
Wie kann ich trotzdem auf die Marker klicken?
Mit GLM und Vector-Layer hab ich nichts hinbekommen. Mit zwei Vektor-Layern (den für die Daten kann man ja trotzdem aus einer Textdatei füttern) gehts (zumindest Firefox und XP, sowas ist ja auch immer recht stark vom Browser abhängig).
Allerdings auch nur, wenn man die beiden Layer in einen gemeinsamen "OpenLayers.Layer.Vector.RootContainer" steckt und der wird mit den etwas abschreckenden Worten beschrieben: "This class is not supposed to be instantiated from user space, it is a helper class for controls that require event processing for multiple vector layers."
Andererseits ist es ja genau das, was wir brauchen: event processing for multiple vector layers
var␣kleinemarkerlayer␣=␣new␣OpenLayers.Layer.Vector("kleine␣Marker", {␣strategies:␣[new␣OpenLayers.Strategy.Fixed()], protocol:␣new␣OpenLayers.Protocol.HTTP(..... //␣da␣kommen␣die␣kleinen␣Marker␣ausd␣der␣Textdatei␣rein
var␣grossemarkerlayer␣=␣new␣OpenLayers.Layer.Vector("grosse␣Marker"); //␣da␣dann␣die␣grossen␣Marker
var␣markercontainer␣=␣new␣OpenLayers.Layer.Vector.RootContainer("allemarker",{layers:␣kleinemarkerlayer,grossemarkerlayer]});
map.addLayers([baselayer,␣kleinemarkerlayer,␣grossemarkerlayer,␣markercontainer]);
Beispiel gibts hier, aber wie gesagt, nur mit exakt einem Browser getestet.
Grüße, Max