[Chameleon] date filter
Jason Fournier
jfournier at dmsolutions.ca
Thu Oct 27 23:04:27 EDT 2005
Danna,
If I understand correctly I think one way to approach this is to add
custom code in index.phtml handle the layer selection process. In your
index.phtml you have something like the following:
class SampleApp extends Chameleon
{
function SampleApp()
{
parent::Chameleon();
$this->moMapSession = new MapSession_RW;
$this->moMapSession->setTempDir( getSessionSavePath());
}
function CWCProcessURL(&$oHTTPFormVars)
{
$bRes = parent::CWCProcessURL($oHTTPFormVars);
// include any kind of execute processing here ...
return $bRes;
}
}
The function CWCProcessURL (which I don't think is there by default) is
where you can execute PHP MapScript to affect the state of the current
session mapfile (after $bRes is declared and before $bRes is returned).
So, for instance, you can get the value of your dropdown, cycle
through the mapfile layers, and perform whichever action you deem
necessary on that layer (eg, visibility, expression, add classes, etc):
$value = $_REQUEST['dropdown'];
if( $value == 1990 )
{
$oMap = $oApp->moMapSession->oMap;
$nMapLayers = $oMap->numlayers;
for($i=0;$i<$nMapLayers;$i++)
{
$oLayer = $oMap->getLayer($i);
//etc etc
}
}
Replace or modify the above code with your own. You may want to keep an
array of layers to turn on for a given dropdown value then write some
generic code to handle it - would save you time in the long run.
Is this what you were going after?
Best Regards,
Jason
Danna Dowdy wrote:
> I have found where I can use set FILTER in the map file dynamically
> using a form or a url variable but am still not sure how to get those
> variables passed from chameleon??
>
> Danna Dowdy wrote:
>
>> I am working on a basic mapping application that currently displays
>> data from a spatial database based on variable groupings. I have
>> individual views set up for each individual layer. I would like to
>> add a drop down menu somewhere on the interface so that the user could
>> select a year and plot whatever layers are chosen for that particular
>> year. The date field is in the database. Could someone point me in
>> the right direction of how to do this?
>> _______________________________________________
>> Chameleon mailing list
>> Chameleon at lists.maptools.org
>> http://lists.maptools.org/mailman/listinfo/chameleon
>>
>
> _______________________________________________
> Chameleon mailing list
> Chameleon at lists.maptools.org
> http://lists.maptools.org/mailman/listinfo/chameleon
>
--
________________________
Jason Fournier
DM Solutions Group Inc.
jfournier at dmsolutions.ca
www.dmsolutions.ca
613.565.5056 x18
More information about the Chameleon
mailing list