x

Wie auf Marker unter Vector Layer klicken?


  1. 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.js

    Danke,
    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