Hi

What is the "METADATA" part of the layer in your mapfile please ?

If you specified a result_fileds and result_header the 'id' has to be in 
the list.

Is there a case sensitive problem ?

Le 02/04/2010 10:08, Medve Zsolt a écrit :
> Hy!
>
> I writing a plugin for Pmapper. I have a question about it. This is
> looks like the coordinates plugin,.. i click,then its display some results.
>
> In this case, i want to get the clicked shapes ID column value (this is
> not a shapefile ID or something like this, this is a custom ID column i
> made for the table)
>
> $shape->  values['ID'] contains nothing, empty string.I checked it (with
> echo). By the way the SOAP call returns a error code 5001, it mean that
> something is wrong. So because it only get an empty ID string..
>
> Why i get empty ID? is this code correct i paste?
>
> This is the code i writing:
>
> This will pass the $DempontJson  to the Javascript file
>
>          <?php
>          // prevent XSS
>          if (isset($_REQUEST['_SESSION'])) exit();
>
>          session_start();
>          require_once($_SESSION['PM_INCPHP'] . "/globals.php");
>          require_once($_SESSION['PM_INCPHP'] . "/common.php");
>
>          ini_set("soap.wsdl_cache_enabled", 0);
>
>          $layer = $map->getLayerByName('sde1','sde2','sde3','sde4');
>
>          // xy pix ->  geo pt
>
>          $xPixel = $_REQUEST['x'];
>          $yPixel = $_REQUEST['y'];
>
>          $xGeo = $_SESSION['GEOEXT']['minx'] +
>          (($xPixel/$_SESSION['mapwidth']) *
>          ($_SESSION['GEOEXT']['minx']-$_SESSION['GEOEXT']['maxx']));
>          $yGeo = $_SESSION['GEOEXT']['maxy'] -
>          (($yPixel/$_SESSION['mapheight']) *
>          ($_SESSION['GEOEXT']['maxy']-$_SESSION['GEOEXT']['miny']));
>
>          $pt = ms_newPointObj();
>          $pt->setXY($xGeo, $yGeo);
>
>          // proj
>          $mapProjStr = $map->getProjection();
>          $layerProjStr = $layer->getProjection();
>          if ($mapProjStr&&  $layerProjStr&&  $mapProjStr != $layerProjStr) {
>               $mapProjObj = ms_newprojectionobj($mapProjStr);
>               $layerProjObj = ms_newprojectionobj($layerProjStr);
>               $pt->project($mapProjObj, $layerProjObj);
>          }
>
>          // set map extent and size:
>          $map->setExtent($_SESSION['GEOEXT']['minx'],
>          $_SESSION['GEOEXT']['miny'], $_SESSION['GEOEXT']['maxx'],
>          $_SESSION['GEOEXT']['maxy']);
>          $map->setSize($_SESSION['mapwidth'], $_SESSION['mapheight']);
>
>          $map->preparequery();
>
>          // Use '@' to avoid warning if query found nothing
>          @$layer->queryByPoint($pt, MS_SINGLE, -1);
>          $pt->free();
>
>          if ($layer->getNumResults() == 1) {
>               $res = $layer->getResult(0);
>               $layer->open();
>               $shape = $layer->getFeature($res->shapeindex, $res->tileindex);
>               $id = $shape->values['ID'];
>               $layer->close();
>          }
>
>          try{
>             $sClient = new SoapClient('http://IP:PORT/some?wsdl');
>             $resp = $sClient->Dempont_fh_rtid(array($id));
>
>          } catch(SoapFault $e){
>             var_dump($e);
>          }
>
>          $dempont = round($resp);
>
>          $DempontJson = "[";
>          $DempontJson .= "{\"dempont\": $dempont,";
>          $DempontJson = substr($DempontJson, 0, -1) . "]";
>
>
>          header("Content-Type: text/plain; charset=$defCharset");
>
>          // return JS object literals "{}" for XMLHTTP request
>
>          echo "{\"DempontJson\": $DempontJson}";
>
>          ?>
>
> The JS file:
>
>              ...
>
>               Dempont:
>               {
>                   options: {css:{width:280}},
>
>                   /*
>                    * Dempont megjelenitö fv.
>                    */
>                   openDempontBox: function(imgxy) {
>                       var pixccoords = imgxy.split('+');
>                       var pixX = pixccoords[0];
>                       var pixY = pixccoords[1];
>
>                       var mpoint = PM.ZoomBox.getGeoCoords(pixX, pixY,
>          false);
>
>                       $.ajax({
>                           url: PM_PLUGIN_LOCATION +
>          '/dempont/x_dempont.php?' + SID + '&x=' + mpoint.x + '&y=' +
>          mpoint.y,
>                           dataType: "json",
>                           success: function(response){
>                               var res = response.DempontJson;
>                               var restab = $('<table>');
>                               $.each(res, function(i, n){
>
>          restab.append(($('<tr>').append($('<td>').html('Érték: ' +
>          n.dempont))));
>                               });
>                               var container =
>          $('#pmPluginCoordsDisplay').is(':visible') ?
>                                   $('#pmPluginCoordsDisplay') :
>                                   $('<div>').id('pmPluginCoordsDisplay')
>                                             .addClass('pm-map-link')
>
>          .addClass('pm-coordinates-dialog')
>
>          .css(PM.Plugin.dempont.options.css)
>                                             .appendTo('.ui-layout-center');
>
>                               container.html('')
>                                        .html(_p('Dempont'))
>                                        .append(restab)
>                                        .append($('<img
>          src="images/close.gif" alt="close" />').click(function ()
>          {$(this).parent().remove();}).css('cursor','pointer'))
>                                        .show();
>                           },
>                           error: function(XMLHttpRequest, textStatus,
>          errorThrown) {
>                               alert('Hiba, Nem számolok neked!');
>                           }
>                       });
>                   }
>               }
>          });
>
> It is always jumps to the error:function(XML Http.....) :(
>
>
> Thanks,
> Zsolt
> ------------------------------------------------------------------------------
> Download Intel&#174; Parallel Studio Eval
> Try the new software tools for yourself. Speed compiling, find bugs
> proactively, and fine-tune applications for parallel performance.
> See why Intel Parallel Studio got high marks during beta.
> http://p.sf.net/sfu/intel-sw-dev
> _______________________________________________
> pmapper-users mailing list
> pmapper-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/pmapper-users
>
>
>
>
>
> __________ Information provenant d'ESET NOD32 Antivirus, version de la base 
> des signatures de virus 4994 (20100402) __________
>
> Le message a été vérifié par ESET NOD32 Antivirus.
>
> http://www.eset.com
>
>
>
>
>    


------------------------------------------------------------------------------
Download Intel&#174; Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev
_______________________________________________
pmapper-users mailing list
pmapper-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/pmapper-users

Reply via email to