Yup, sorry it's Perl. The getResult($) should be getResult($i). Syntax for PHP 
should be pretty close I think, method names are the same.

Steve

________________________________________
From: Stefan Schwarzer [stefan.schwar...@unep.org]
Sent: Monday, August 06, 2012 6:48 AM
To: mapserver-users@lists.osgeo.org
Cc: Lime, Steve D (DNR)
Subject: Re: [mapserver-users] getShape failing;        changes from mapserver 
5.6 to 6.0

Thanks a lot, Steve.

However, I had tried this out before, but "getResult($)"? I think this is Perl, 
no? In PHP this would be different?

Sorry for a dumb question…

Stefan

> The query code underwent major changes between 5.6 and 6.0 and one casualty 
> was query processing like you're doing. On the bright side it's much more 
> straight forward now. The general steps for a layer-based query is now just:
>
> $layer->queryByRect($map, $rect); # layer is left open after a query operation
>
> for($i=0; $i<$layer->getNumResults(); $i++) {
>       $shape = $layer->getShape($layer->getResult($)); # much simpler
>       # do something with the shape
> }
>
> I see the MapScript/Swig query docs are woefully out of date. I'll file a 
> ticket on that...
>
> Steve
>
> -----Original Message-----
> From: mapserver-users-boun...@lists.osgeo.org 
> [mailto:mapserver-users-boun...@lists.osgeo.org] On Behalf Of Stefan Schwarzer
> Sent: Friday, August 03, 2012 6:37 AM
> To: mapserver-users@lists.osgeo.org
> Subject: [mapserver-users] getShape failing; changes from mapserver 5.6 to 6.0
>
> Hi there,
>
> I am struggling with a few changes I need to go through in order to make my 
> code working now with mapserver 6.x. This one concerns the query part, when a 
> user clicks on the map and a window with some metadata is being displayed.
>
> An error message occurred:
>
>       "Catchable fatal error: Argument 1 passed to layerObj::getShape() must 
> be an instance of resultObj, integer given"
>
> When I changed the getShape command as indicated here [1], it says:
>
>       "Fatal error: Call to a member function getShape() on a non-object"
>
>
> This is the code:
>
>       //Query the Map at the point clicked
>       if (!$imgbox)
>               @$a = $map -> queryByPoint($click_pt, MS_MULTIPLE, -1);
>       else
>               $a = $map -> queryByRect($click_rt);
>
>       if ($a == MS_SUCCESS)
>       {
>
>               $numResults = $Layer -> getNumResults();
>               $oLayer = $map -> getLayer($Layer -> index);
>
>               // Open layer's table... take the list of fields to display from
>               // the "HEADERRESULT_FIELDS" metadata in the layer object.
>               $oLayer -> open();
>
>               $oRes = $oLayer -> getResult(0);
>               //$oShape = $oLayer -> 
> getShape($oRes->tileindex,$oRes->shapeindex);    // before
>               $oShape = $layer -> getShape($oLayer -> getResult(0));          
>                         // now ??
>
>
>               while(list($key, $val) = each($oShape -> values))
>               {
>                   //echo "<br />x - ".count($selFields)." - ".$key . " = " . 
> $val;
>                       if (($key <> "META_DATA") AND ($key <> "oid") AND ($key 
> <> "id") AND ($key <> "uid"))
>                               $selFields[count($selFields)] = $key;
>               }
>
>
>
> Not sure what I should put there...
>
> Thanks for any hints,
>
> Stefan
>
>
> [1] http://mapserver.org/MIGRATION_GUIDE.html
> _______________________________________________
> mapserver-users mailing list
> mapserver-users@lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/mapserver-users
>
>
>



_______________________________________________
mapserver-users mailing list
mapserver-users@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/mapserver-users

Reply via email to