[Users] Disable Nodes on Zoom Event

IT Intern itintern12 at gmail.com
Thu Oct 28 17:15:37 CEST 2010


That's quite awesome!  Thanks Matt.  So now where do I apply this patch :p

Do I just copy the file into
lib/GeoExt/widgets/treeand override the old LayerNode.js no worries???

cheers,

elshae


On Thu, Oct 28, 2010 at 10:46 AM, Matt Priour
<mpriour at kestrelcomputer.com>wrote:

>  OpenLayers already has a Map moveend event handler that will check to see
> if the layer is still in range (maxExtent, minResolution, maxResolution,
> minScale & maxScale are all tested)
> You should use one of these configuration options (maxResolution,
> minResolution are easiest) on the layers and let OL do the turning on/off
> layers for you.
>
> To have your GeoExt LayerNodes respond by enabling/disabling when layers
> are in/out of range, you can apply the autoDisable patch [1] attached to
> Ticket #235 (http://trac.geoext.org/attachment/ticket/235)
>
> [1]
> http://trac.geoext.org/attachment/ticket/235/autoDisableLayerNode.patch
>
> Matt Priour
> Kestrel Computer Consulting
>
>
>
>  *From:* IT Intern <itintern12 at gmail.com>
> *Sent:* Thursday, October 28, 2010 9:08 AM
> *To:* users at geoext.org
> *Subject:* [Users] Disable Nodes on Zoom Event
>
> Hello GeoExt Users,
>
> I have a zoom event that when a user zoom in and out of my map certain
> layers I setVisibility(false).  Now what I would like to do is have another
> event inside that event which disables the nodes of those layers when their
> setVisibilty(false) and enables them back when setVisibility(true).  I have
> some code and it kinda works, but the problem is the checkchange event does
> not only work when the zoomend event is done, but also anytime a user clicks
> the layer nodes.  I played a little with stopPropagation and that didn't do
> anything for me.  Actually I think my zoomend event could be much better
> coded and I would really love some suggestions.  I appreciate everyone
> taking their time to help me :)
>
> elshae
>
> Code:
>
> map.events.on({ "zoomend": function (e) {
>
>                   layerTree.on("checkchange", function (node, checked) {
>                     alert(node.text + "Inside event");
>                     if(checked == false)
>                         node.disable();
>                     else if(checked == true)
>                         node.enable();
>
>                 });
>
>                       if (this.getZoom() > 7) {
>                           tib_villages.setVisibility(true);
>                           tib_lakes.setVisibility(true);
>                           tib_townships.setVisibility(true);
>
>
>                     }
>                     else {
>
>                                     tib_villages.setVisibility(false);
>                                     tib_lakes.setVisibility(false);
>                                     tib_townships.setVisibility(false);
>
> //alert(layerTree.tib_villages.node.text);
>
>                         if (this.getZoom() > 5) {
>                               infrastructure.setVisibility(true);
>                               geography.setVisibility(true);
>                               geography2.setVisibility(true);
>                               tib_countys.setVisibility(true);
>
>                         }
>                         else{
>                             infrastructure.setVisibility(false);
>                             geography.setVisibility(false);
>                               geography2.setVisibility(false);
>                               tib_countys.setVisibility(false);
>                         }
>                     }//end else
>
>                 }//end function (e)
>
>             }); //end map.events.on
>
> ------------------------------
>
> _______________________________________________
> Users mailing list
> Users at geoext.org
> http://www.geoext.org/cgi-bin/mailman/listinfo/users
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.geoext.org/pipermail/users/attachments/20101028/044de265/attachment-0001.htm 


More information about the Users mailing list