<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=iso-8859-1">
<META content="MSHTML 6.00.2800.1498" name=GENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=#ffffff><FONT face=Arial size=2>
<DIV>Sounds pretty straightforward. I'll try to do something similar.</DIV>
<DIV>&nbsp;</DIV>
<DIV>thanks,</DIV>
<DIV>&nbsp;</DIV>
<DIV>Jacob</DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp;</DIV>
<DIV>-----Original Message-----</DIV>
<DIV>&nbsp;</DIV>
<DIV>From: Bart van den Eijnden [mailto:BEN@Syncera-ITSolutions.NL] </DIV>
<DIV>&nbsp;</DIV>
<DIV>Sent: 1 June 2005 16:14</DIV>
<DIV>&nbsp;</DIV>
<DIV>To: <A 
href="mailto:chameleon@lists.maptools.org">chameleon@lists.maptools.org</A>; <A 
href="mailto:jacob.delfos@maunsell.com">jacob.delfos@maunsell.com</A></DIV>
<DIV>&nbsp;</DIV>
<DIV>Subject: Re: [Chameleon] Identify information object</DIV>
<DIV>&nbsp;</DIV>
<DIV>Hi Jacob,</DIV>
<DIV>&nbsp;</DIV>
<DIV>it just creates a copy of the layer on which the query is performed, and 
then changes the colors etc. to a selection color on the fly. Using a FILTER 
statement it only displays the feature selected by the user.</DIV>
<DIV>&nbsp;</DIV>
<DIV>I have also attached a screendump. The selection is in blue.</DIV>
<DIV>&nbsp;</DIV>
<DIV>Best regards,</DIV>
<DIV>&nbsp;</DIV>
<DIV>Bart</DIV>
<DIV>&nbsp;</DIV>
<DIV>Bart van den Eijnden</DIV>
<DIV>&nbsp;</DIV>
<DIV>Syncera-ITSolutions</DIV>
<DIV>&nbsp;</DIV>
<DIV>Postbus 270</DIV>
<DIV>&nbsp;</DIV>
<DIV>2600 AG DELFT</DIV>
<DIV>&nbsp;</DIV>
<DIV>tel.nr.: 015-7512436</DIV>
<DIV>&nbsp;</DIV>
<DIV>email: <A 
href="mailto:BEN@Syncera-ITSolutions.nl">BEN@Syncera-ITSolutions.nl</A></DIV>
<DIV>&nbsp;</DIV>
<DIV>&gt;&gt;&gt; "Jacob Delfos" &lt;<A 
href="mailto:jacob.delfos@maunsell.com">jacob.delfos@maunsell.com</A>&gt; 
06/01/05 10:00am &gt;&gt;&gt;</DIV>
<DIV>&nbsp;</DIV>
<DIV>Hi Bart,</DIV>
<DIV>&nbsp;</DIV>
<DIV>I had it set up at first with a manually specified mapfile, but in our 
setup that was a bit of a security issue. Also, I wanted it to be more flexible 
to implement in general.</DIV>
<DIV>&nbsp;</DIV>
<DIV>How did you actually create a dynamic highlight layer? Does your approach 
create a lot of overhead if 10,000s of records are searched, or if 100s of 
results are returned?</DIV>
<DIV>&nbsp;</DIV>
<DIV>Have a look at <A 
href="http://geo.maunsell.com/chameleondemo/index.phtml">http://geo.maunsell.com/chameleondemo/index.phtml</A> 
, so you know roughly what it does. It's a very ugly demo, but sort of works. 
Ideally, after a query, all objects would be highlighted until a new query is 
done. Could I just save a copy of every result to a shapefile, and load that as 
a dynamic layer?</DIV>
<DIV>&nbsp;</DIV>
<DIV>regards,</DIV>
<DIV>&nbsp;</DIV>
<DIV>Jacob</DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp;</DIV>
<DIV>-----Original Message-----</DIV>
<DIV>&nbsp;</DIV>
<DIV>From: Bart van den Eijnden [mailto:BEN@Syncera-ITSolutions.NL] </DIV>
<DIV>&nbsp;</DIV>
<DIV>Sent: 1 June 2005 15:42</DIV>
<DIV>&nbsp;</DIV>
<DIV>To: <A 
href="mailto:chameleon@lists.maptools.org">chameleon@lists.maptools.org</A>; <A 
href="mailto:jacob.delfos@maunsell.com">jacob.delfos@maunsell.com</A> </DIV>
<DIV>&nbsp;</DIV>
<DIV>Subject: Re: [Chameleon] Identify information object</DIV>
<DIV>&nbsp;</DIV>
<DIV>Hi Jacob,</DIV>
<DIV>&nbsp;</DIV>
<DIV>I have followed a slightly different approach to do this:</DIV>
<DIV>&nbsp;</DIV>
<DIV>1) I created a generic WFSSearch widget which provides a dialog for the 
user in an iframe to search on one or more attributes. The widget communicates 
with Mapserver WFS to search, but it actually uses the same MAP file as the 
Chameleon app (configured for WFS ofcourse). Eg:</DIV>
<DIV>&nbsp;</DIV>
<DIV>&lt;cwc2 type="WFSSearch" styleresource="NavButtons" 
popupstyleresource="TextButtons" PopupWidth="460" PopupHeight="550" 
Toolbar="false" Status="false" Menubar="false" Image="icons/icon_search.png" 
ImageTip="Zoek adres" onlineresource="<A 
href="http://localhost:8080/cgi-bin/mapserv.exe?map=/ms4w/apps/westland/map/stragisweb.map">http://localhost:8080/cgi-bin/mapserv.exe?map=/ms4w/apps/westland/map/stragisweb.map</A>" 
title="Zoek adres" typename="ACN" namespace_prefix="stragisweb" 
targetframe="DynamicFrame" filteritem="ACN" zoomwidth="50"&gt;</DIV>
<DIV>&nbsp;</DIV>
<DIV>&lt;searchField propertyname="STRAAT_NEN" label="Straat" /&gt;</DIV>
<DIV>&nbsp;</DIV>
<DIV>&lt;searchField propertyname="PLAATS_NEN" label="Woonplaats" /&gt;</DIV>
<DIV>&nbsp;</DIV>
<DIV>&lt;image state="normal"/&gt;</DIV>
<DIV>&nbsp;</DIV>
<DIV>&lt;image state="selected"/&gt;</DIV>
<DIV>&nbsp;</DIV>
<DIV>&lt;image state="hover"/&gt;</DIV>
<DIV>&nbsp;</DIV>
<DIV>&lt;/cwc2&gt;</DIV>
<DIV>&nbsp;</DIV>
<DIV>2) I extended the JSAPI in order to being able to highlight items based on 
a FILTERITEM and FILTER. In my aproach it only highlights 1 item (by adding a 
dynamic highlight layer) and zooms to it, but it could be extended to highlight 
more items since it uses Mapserver's FILTER.</DIV>
<DIV>&nbsp;</DIV>
<DIV>Best regards,</DIV>
<DIV>&nbsp;</DIV>
<DIV>Bart</DIV>
<DIV>&nbsp;</DIV>
<DIV>Bart van den Eijnden</DIV>
<DIV>&nbsp;</DIV>
<DIV>Syncera-ITSolutions</DIV>
<DIV>&nbsp;</DIV>
<DIV>Postbus 270</DIV>
<DIV>&nbsp;</DIV>
<DIV>2600 AG DELFT</DIV>
<DIV>&nbsp;</DIV>
<DIV>tel.nr.: 015-7512436</DIV>
<DIV>&nbsp;</DIV>
<DIV>email: <A 
href="mailto:BEN@Syncera-ITSolutions.nl">BEN@Syncera-ITSolutions.nl</A> </DIV>
<DIV>&nbsp;</DIV>
<DIV>&gt;&gt;&gt; "Jacob Delfos" &lt;<A 
href="mailto:jacob.delfos@maunsell.com">jacob.delfos@maunsell.com</A>&gt; 
06/01/05 06:12am &gt;&gt;&gt;</DIV>
<DIV>&nbsp;</DIV>
<DIV>Paul,</DIV>
<DIV>&nbsp;</DIV>
<DIV>Is there a way to manually add objects to a query result?</DIV>
<DIV>&nbsp;</DIV>
<DIV>My widget searches by attribute, but I am not using the query mechanism. 
Reason is I want more control over what is queryable or not, and what is 
returned (also because we use customisations with different levels of 
information depending on who is logged in), so I don't want to depend on the 
"template" mechanism. Also, I don't want to be limited to a current map-extent 
(even though I guess I could get around that). </DIV>
<DIV>&nbsp;</DIV>
<DIV>Could I use the "layerObj" class, and use "addfeature" for each shape in 
the iteration? Sorry for my ignorance, just that I haven't worked with dynamic 
layers before.... I need need to find a simple way to highlight shape objects on 
the fly.</DIV>
<DIV>&nbsp;</DIV>
<DIV>regards,</DIV>
<DIV>&nbsp;</DIV>
<DIV>Jacob</DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp;</DIV>
<DIV>-----Original Message-----</DIV>
<DIV>&nbsp;</DIV>
<DIV>From: <A 
href="mailto:chameleon-bounces@lists.maptools.org">chameleon-bounces@lists.maptools.org</A> 
[mailto:chameleon-bounces@lists.maptools.org] On Behalf Of Paul Spencer</DIV>
<DIV>&nbsp;</DIV>
<DIV>Sent: 31 May 2005 22:34</DIV>
<DIV>&nbsp;</DIV>
<DIV>To: Jonathon Coombes; <A 
href="mailto:'chameleon@lists.maptools.org'">'chameleon@lists.maptools.org'</A> 
</DIV>
<DIV>&nbsp;</DIV>
<DIV>Subject: Re: [Chameleon] Identify information object</DIV>
<DIV>&nbsp;</DIV>
<DIV>Jonathon,</DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp;</DIV>
<DIV>Jonathon Coombes wrote:</DIV>
<DIV>&nbsp;</DIV>
<DIV>&gt; On Mon, 2005-05-30 at 22:27 -0400, Paul Spencer wrote:</DIV>
<DIV>&nbsp;</DIV>
<DIV>&gt; </DIV>
<DIV>&nbsp;</DIV>
<DIV>&gt;&gt;You can use the following attributes on CWC2 type="Query" to add 
this </DIV>
<DIV>&nbsp;</DIV>
<DIV>&gt;&gt;functionality</DIV>
<DIV>&nbsp;</DIV>
<DIV>&gt;&gt;</DIV>
<DIV>&nbsp;</DIV>
<DIV>&gt;&gt;highlightresults="true"</DIV>
<DIV>&nbsp;</DIV>
<DIV>&gt; </DIV>
<DIV>&nbsp;</DIV>
<DIV>&gt; </DIV>
<DIV>&nbsp;</DIV>
<DIV>&gt; Hi Paul,</DIV>
<DIV>&nbsp;</DIV>
<DIV>&gt; </DIV>
<DIV>&nbsp;</DIV>
<DIV>&gt; Thanks for the quick reply. The above details make sense.</DIV>
<DIV>&nbsp;</DIV>
<DIV>&gt; </DIV>
<DIV>&nbsp;</DIV>
<DIV>&gt; </DIV>
<DIV>&nbsp;</DIV>
<DIV>&gt;&gt;if you want the result to stay highlighted until cleared (you need 
a </DIV>
<DIV>&nbsp;</DIV>
<DIV>&gt;&gt;ClearQueryResults widget in this case) set:</DIV>
<DIV>&nbsp;</DIV>
<DIV>&gt;&gt;</DIV>
<DIV>&nbsp;</DIV>
<DIV>&gt;&gt;persistentresults="true"</DIV>
<DIV>&nbsp;</DIV>
<DIV>&gt;&gt;</DIV>
<DIV>&nbsp;</DIV>
<DIV>&gt;&gt;otherwise, the highlight will disappear on the next map draw</DIV>
<DIV>&nbsp;</DIV>
<DIV>&gt; </DIV>
<DIV>&nbsp;</DIV>
<DIV>&gt; </DIV>
<DIV>&nbsp;</DIV>
<DIV>&gt; Again, this makes sense.</DIV>
<DIV>&nbsp;</DIV>
<DIV>&gt; </DIV>
<DIV>&nbsp;</DIV>
<DIV>&gt; However, I have one slight problem. How would I use the 
functionality</DIV>
<DIV>&nbsp;</DIV>
<DIV>&gt; of a Query widget, in a customised widget like the 
LocateByAttribute</DIV>
<DIV>&nbsp;</DIV>
<DIV>&gt; that was mentioned a week ago? Do I have to go to a mapserver 
level</DIV>
<DIV>&nbsp;</DIV>
<DIV>&gt; for something like this? Do I create a subclass of the main 
class</DIV>
<DIV>&nbsp;</DIV>
<DIV>&gt; and inherit from Query? </DIV>
<DIV>&nbsp;</DIV>
<DIV>&gt; </DIV>
<DIV>&nbsp;</DIV>
<DIV>&gt; What would be the recommended approach for this?</DIV>
<DIV>&nbsp;</DIV>
<DIV>I think this would be a new widget. The query widget is a </DIV>
<DIV>&nbsp;</DIV>
<DIV>point-and-click widget whereas I think you are describing a widget that 
</DIV>
<DIV>&nbsp;</DIV>
<DIV>the user would enter some text and pick an attribute to search, and the 
</DIV>
<DIV>&nbsp;</DIV>
<DIV>code would highlight the result(s)</DIV>
<DIV>&nbsp;</DIV>
<DIV>I would do this by creating a new widget (or using something posted on 
</DIV>
<DIV>&nbsp;</DIV>
<DIV>this list) not based on Query at all (since no direct map interaction is 
</DIV>
<DIV>&nbsp;</DIV>
<DIV>required). It would take the user input and perform a queryByAttribute 
</DIV>
<DIV>&nbsp;</DIV>
<DIV>then save the query results using saveQuery ... the query results should 
</DIV>
<DIV>&nbsp;</DIV>
<DIV>be saved in the same location that drawmap.php would look for them.</DIV>
<DIV>&nbsp;</DIV>
<DIV>To do this will be considerable effort for someone new to Chameleon, </DIV>
<DIV>&nbsp;</DIV>
<DIV>unfortunately.</DIV>
<DIV>&nbsp;</DIV>
<DIV>Cheers</DIV>
<DIV>&nbsp;</DIV>
<DIV>Paul</DIV>
<DIV>&nbsp;</DIV>
<DIV>&gt; </DIV>
<DIV>&nbsp;</DIV>
<DIV>&gt; Regards</DIV>
<DIV>&nbsp;</DIV>
<DIV>&gt; Jonathon</DIV>
<DIV>&nbsp;</DIV>
<DIV>&gt; </DIV>
<DIV>&nbsp;</DIV>
<DIV>&gt; </DIV>
<DIV>&nbsp;</DIV>
<DIV>&gt;&gt;Jonathon Coombes wrote:</DIV>
<DIV>&nbsp;</DIV>
<DIV>&gt;&gt;</DIV>
<DIV>&nbsp;</DIV>
<DIV>&gt;&gt;&gt;Hi,</DIV>
<DIV>&nbsp;</DIV>
<DIV>&gt;&gt;&gt;</DIV>
<DIV>&nbsp;</DIV>
<DIV>&gt;&gt;&gt;In the mapscript demos in the past, when you clicked on a 
feature</DIV>
<DIV>&nbsp;</DIV>
<DIV>&gt;&gt;&gt;within your map, it highlighted it red. Is this possible 
within</DIV>
<DIV>&nbsp;</DIV>
<DIV>&gt;&gt;&gt;Chameleon widgets? That is, when I select a feature or click 
within</DIV>
<DIV>&nbsp;</DIV>
<DIV>&gt;&gt;&gt;an object of a certain layer, it will be altered or enhanced in 
some</DIV>
<DIV>&nbsp;</DIV>
<DIV>&gt;&gt;&gt;way?</DIV>
<DIV>&nbsp;</DIV>
<DIV>&gt;&gt;&gt;</DIV>
<DIV>&nbsp;</DIV>
<DIV>&gt;&gt;&gt;Regards</DIV>
<DIV>&nbsp;</DIV>
<DIV>&gt;&gt;&gt;Jonathon</DIV>
<DIV>&nbsp;</DIV>
<DIV>&gt;&gt;</DIV>
<DIV>&nbsp;</DIV>
<DIV>-- </DIV>
<DIV>&nbsp;</DIV>
<DIV>+-----------------------------------------------------------------+</DIV>
<DIV>&nbsp;</DIV>
<DIV>|Paul Spencer <A 
href="mailto:pspencer@dmsolutions.ca">pspencer@dmsolutions.ca</A> |</DIV>
<DIV>&nbsp;</DIV>
<DIV>+-----------------------------------------------------------------+</DIV>
<DIV>&nbsp;</DIV>
<DIV>|Applications &amp; Software Development |</DIV>
<DIV>&nbsp;</DIV>
<DIV>|DM Solutions Group Inc <A 
href="http://www.dmsolutions.ca/">http://www.dmsolutions.ca/</A>| </DIV>
<DIV>&nbsp;</DIV>
<DIV>+-----------------------------------------------------------------+</DIV>
<DIV>&nbsp;</DIV>
<DIV>_______________________________________________</DIV>
<DIV>&nbsp;</DIV>
<DIV>Chameleon mailing list</DIV>
<DIV>&nbsp;</DIV>
<DIV><A 
href="mailto:Chameleon@lists.maptools.org">Chameleon@lists.maptools.org</A> 
</DIV>
<DIV>&nbsp;</DIV>
<DIV><A 
href="http://lists.maptools.org/mailman/listinfo/chameleon">http://lists.maptools.org/mailman/listinfo/chameleon</A><BR></FONT></DIV></BODY></HTML>