[Chameleon] Highlight search result in map

Federica De Martin federica.demartin at gmail.com
Mon Mar 31 04:58:39 EDT 2008


Hi, thank you Julien for the answer finally I put the php code of bug 1068
in the right file... but again it doesn't work for me (In the
UpdateMap.phpI haven't got 1050 lines but I put the code at line 760
just before the line
$_SESSION["gszCurrentState"] = $oMapSession->saveState();).
When I call CWCRunQuery function the map starts "Loading..." but then the
loading of the map doesn't complete and doesn't throw any javascript or php
error. After a while, if I try to Update, with the update widget, the map
doesn't load again but I can see in the legend the new layer for the
selection ("StraGISWebSelection"). Anyway to go on I have to restart the
application because it is completely blocked with "Loading..." gif in the
middle of the map. I tried to put the filter in the map file (FILTER "idobj
like 'COD07%'" ) and it works so I don't know why it doesn't work with that
function, any idea about this?

Thank you again for all the help.
Federica


2008/3/28, Julien-Samuel Lacroix <jlacroix at mapgears.com>:
>
> Hi,
>
> If you want to use the code in bug 1068, simply add the CWCRunQuery
> function in the chameleon/htdocs/widgets/js/cwcjsapi.js file and add the
> following at the bottom of the same file:
> CWCApplication.prototype.RunQuery = CWCRunQuery;
>
> Then add the big if() statement in chameleon/htdocs/UpdateMap.php around
> line 1050, just before the following line:
> $_SESSION["gszCurrentState"] = $oMapSession->saveState();
>
> This will allow you to apply a filter like this:
> goCWCJSAPI.RunQuery(layername, "field = value");
>
> However I'm not sure I'll be able to help you more than that.
>
> If you want to make your existing code work, I tried to add your
> function in the sample_basic_jsapi.html and it worked with few
> modification.
>
> I added this just before the myOnLoad function
> function testzoom(x,y,x2,y2)
> {
>     goCWCJSAPI.oMap.SetExtents(x,y,x2,y2)
> }
> function testselect(nX ,nY,nX2 ,nY2)
> {
>     var queryCoords = nX + "," + nY + ";" + nX2 + "," + nY2;
>     var img = CWCDHTML_GetImage( 'MapLayerDivImg' );
>     var str_gMap=gMapDHTMLURL .split("&UniqId=");
>     img.src = str_gMap[0] + "&run_query=1&gszQueryCoords=" + queryCoords ;
>     window.status = img.src;
>     goCWCJSAPI.oMap.Refresh();
> }
>
> And this at the very beggining of the <form>:
> <br><br>
> <input type="button" name="ttt" value="Test zoom"
> onclick="testzoom(1718420.8896, 39539.518383, 1884136.658,163826.344683)">
> <input type="button" name="ttt" value="Test query"
> onclick="testselect(279,237,299,257)">
>
> When I click the "Test select" button it highlight Quebec city and when
> I click "Test zoom" it zoom on it and keep it selected.
>
> Hope that helps
>
> Julien
>
> Federica De Martin wrote:
> > Hi, always me, Federica. Thank you Julien for the fast answer.
> > The Highlight works fine for me in the query widget, also between zoom.
> > My problem is when I make a search with some php code and then I use my
> > funciton "AddSelection" and try to zoom setting the New Extents with
> > goCWCJSAPI.oMap.SetExtents(x,y,x2,y2) function. In my opinion the
> > features don't highlight because the second function is called before
> > the first is over, but I don't know how to correct it.
> > Finally I prefer to make something via php like this one
> > http://lists.maptools.org/pipermail/chameleon-dev/2005-May/003973.htmlthat
> > is more sure, but I don't know where to put the php code to make it
> > work. I also tried to put it in the function ParseUrl (that I have
> > added) in the Update.widget.php but it doesn't work,
> > any suggestion?
> >
> > Thanks.
> >
> > Federica
> >
> > 2008/3/27, Julien-Samuel Lacroix <jlacroix at mapgears.com
> > <mailto:jlacroix at mapgears.com>>:
> >
> >     Hi,
> >
> >     Do the Chameleon samples work?
> >     If they work, you can try to go in sample_basic.phtml and
> >     sample-basic_jsapi.phtml and add the following parameter to the
> Query
> >     widget:
> >     HighlightResults="true"
> >
> >     This should highlight the result of your query and keep it
> highlighted
> >     between zoom.
> >
> >     Is that what you were looking for?
> >
> >     Julien
> >
> >     PS: If sample_basic.phtml works and not sample_basic_jsapi.phtml you
> may
> >     need to install Chameleon 2.6rc1.
> >
> >
> >     Federica De Martin wrote:
> >      >
> >      > Hi,
> >      > I write again and I hope somebody is going to answer me...
> >      > Now I use this function but it works only with Point layer and if
> >     I try
> >      > to zoom after or before it doesn't work...
> >      > function addSelection(nX ,nY,nX2 ,nY2){
> >      >    var queryCoords = nX + "," + nY + "," + nX2 + "," + nY2;
> >      >    var img = CWCDHTML_GetImage( 'MapLayerDivImg' );
> >      >    var str_gMap=gMapDHTMLURL .split("&UniqId=");
> >      >    mg.src = str_gMap[0] + "&run_query=1&gszQueryCoords=" +
> >     queryCoords ;
> >      >    window.status = img.src;
> >      >    goCWCJSAPI.oMap.Refresh();
> >      > }
> >      >
> >      > I also have tried with this function that create a new layer with
> a
> >      > point using the existing jsapi function but it doesen't work for
> me.
> >      > function AddSel(nX ,nY,szName){
> >      >     goCWCJSAPI.oMap.CreateNewLayer("tmp_"+szName, "POINT", 1);
> >      >     goCWCJSAPI.RefreshMap();
> >      >     // var layer_orig=goCWCJSAPI.oMap.GetLayerByName(szName);
> >      >     var layer_sel=goCWCJSAPI.oMap.GetLayerByName('tmp_'+szName);
> >      >     // layer_sel=layer_orig;
> >      >     var p=new CWCPoint();
> >      >     p.x=nX ;
> >      >     p.y=nY;
> >      >     p.symbol=0;
> >      >     p.symbol_size=40;
> >      >     p.symbol_color="255,0,100";
> >      >     p.symbol_outlinecolour = "255,255,255";
> >      >     //layer_sel.SetStatus()="ON";
> >      >     goCWCJSAPI.oMap.GetLayerByName
> ('tmp_'+szName).SetStatus("ON");
> >      >     layer_sel.SetProjection="epsg:26591";
> >      >     layer_sel.Promote();
> >      >     goCWCJSAPI.oMap.AddPoint("tmp_"+szName, p);
> >      > }
> >      >
> >      > I think that the right way to approch to the problem is this
> >
> >      >
> >     <
> http://lists.maptools.org/pipermail/chameleon-dev/2005-May/003973.html>
> >      >
> >     <
> http://lists.maptools.org/pipermail/chameleon-dev/2005-May/003973.html>but
> >      > I am not able to make it work. I wait for some pieces of advice!
> >      > Tanks Federica.
> >      >
> >      > Hi everybody,
> >      > I'm working on how to highlight elements in map. I need a
> >     function to do
> >      >
> >      > this from a popup and from the same form of the map. I find out
> this
> >      >
> >
> http://lists.maptools.org/pipermail/chameleon-dev/2005-May/003973.html
> >     but
> >      >
> >      > I'm not able to make it work.
> >      > I don't know where to put the php code, I also tried to use ajax
> >     but I get
> >      > an error in php file on the final istruction:
> >      >
> >      > $_SESSION["gszCurrentState"] = $oMapSession->saveState();
> >      >
> >      > ... saveState() on a non-object ...
> >      >
> >      > maybe because I don't include or call any other chameleon file
> >     (but if I try
> >      > I get many errors... maybe I include the wrong files...).
> >      > Can you help me to make that example work or can you give me an
> >     idea on how
> >      >
> >      > to proceed to solve this problem?
> >      >
> >      > Thank you,
> >      > Federica
> >      >
> >      >
> >
> >      >
> >
> ------------------------------------------------------------------------
> >      >
> >      > _______________________________________________
> >      > Chameleon mailing list
> >      > Chameleon at lists.maptools.org <mailto:Chameleon at lists.maptools.org
> >
> >      > http://lists.maptools.org/mailman/listinfo/chameleon
> >
> >
> >     --
> >     Julien-Samuel Lacroix
> >     Mapgears
> >     http://www.mapgears.com/
> >
> >
>
> --
> Julien-Samuel Lacroix
> Mapgears
> http://www.mapgears.com/
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.maptools.org/pipermail/chameleon/attachments/20080331/8fdd7529/attachment.html


More information about the Chameleon mailing list