[Cartoweb-users] MapOverlay
Yves Jacolin
yjacolin at free.fr
Mon Apr 2 05:54:51 EDT 2007
Hi Luigi,
It is an english only list, so you will better information if you ask your
question in english ;-)
Well, I saw that your error come form the server side of your plugin and you
try to get a property of an object which does not exist.
You can try to check this line
> $mapOverlay = $this->serverContext->getPluginManager()->mapOverlay;
> $mapOverlay->updateMap($layer);
> $this->serverContext->getMapObj()->save('/tmp/debug.map');
Or comment some line begining in the end and go up until the error disappear.
Regards,
Y.
Le Lundi 2 Avril 2007 11:48, Luigi.marotta a écrit :
> Sto cercando di scrivere un plugin che, utilizzando mapOvrlay, mi consenta
> di campiare l'argomento "data" di un
>
> layer nel mio map file. Per il momento il plugin consiste: in un pulstante
> che cambia un'immagine.
> La parte client è:
>
> <?php
> /**
> * ClientDataMappa.php
> */
>
> class ClientDataMappa extends ClientPlugin
> implements ServerCaller, GuiProvider {
>
> protected $specialactiontrigger;
> protected $flag;
>
> public function handleHttpPostRequest($request) {
> if (isset($request['specialactiontrigger'])) {
> $this->flag = true;
> }
> else {
> $this->flag = false;
> }
> }
>
> public function handleHttpGetRequest($request) {}
>
> public function buildRequest() {
> if ($this->flag) {
> $flag=$this->flag;
> return $flag;
> }
> }
>
> protected function drawUserForm() {
> $smarty = new Smarty_Plugin($this->getCartoclient(), $this);
> return $smarty->fetch('dataInput.tpl');
> }
>
> public function renderForm(Smarty $template) {
> $template->assign('dataInput', $this->drawUserForm());
> }
>
> public function initializeResult ($request){
> if (isset ($this->flag)) {
> print ('ok');}
> }
> public function handleResult($request){
> if (isset ($this->flag)) {
> print ('ok');}
> }
>
>
> }
> ?>
>
> Il template:
>
> <!-- dataInput.tpl -->
> <input type="submit" name="specialactiontrigger" value="ok" />
>
> e la parte server:
>
> <?php
> class ServerDataMappa extends ClientResponderAdapter {
>
> public $flag;
>
> public function initializeRequest($requ) {
> if ($requ) {
> $this->flag=$requ;
> $flag=$this->flag;
> return $flag;
> }
> }
>
> public function handlePreDrawing($request){
> if (isset ($this->flag)) {
> $layer = new LayerOverlay();
> $layer->action = BasicOverlay::ACTION_UPDATE;
> $layer->name = "mappa";
> $layer->data = "images/cc_20050621.tif";
> $mapOverlay = $this->serverContext->getPluginManager()->mapOverlay;
> $mapOverlay->updateMap($layer);
> $this->serverContext->getMapObj()->save('/tmp/debug.map');
> }
> }
> }
> ?>
>
> La parte Cliente sembra funzionare ma quando viene chiamato il server mi
> compare questo errore:
>
> Failure
>
> CartoWeb version: 3.3.0 [$Revision: 1.2 $]
> class: SoapFaultWrapper
> message: Error [8, Trying to get property of non-object,
> C:\wamp\www\cartoweb3\server\Cartoserver.php, 229]
> Backtrace:
>
> file: 229 - C:\wamp\www\cartoweb3\server\Cartoserver.php
> call: Common::cartowebErrorHandler(8, "Trying to get property of
> non-object",
>
> "C:\wamp\www\cartoweb3\server\Cartoserver.php", 229, Array(4))
>
> file: 265 - C:\wamp\www\cartoweb3\server\Cartoserver.php
> call: Cartoserver->checkRequest(Object(MapRequest))
>
> file: 349 - C:\wamp\www\cartoweb3\server\Cartoserver.php
> call: Cartoserver->doGetMap(Object(MapRequest))
>
> file: 370 - C:\wamp\www\cartoweb3\server\Cartoserver.php
> call: Cartoserver->callWithExceptionCheck("doGetMap", Object(MapRequest))
>
> file: 81 - C:\wamp\www\cartoweb3\server\MapResultCache.php
> call: Cartoserver->cacheGetMap(Object(MapRequest))
>
> file: 115 - C:\wamp\www\cartoweb3\server\MapResultCache.php
> call: MapResultCache->getMapResultFromServer(Object(MapRequest))
>
> file: 198 - C:\wamp\www\cartoweb3\server\MapResultCache.php
> call: MapResultCache->cacheMapResult(Object(MapRequest))
>
> file: 380 - C:\wamp\www\cartoweb3\server\Cartoserver.php
> call: MapResultCache->getMap(Object(MapRequest))
>
> file: 104 - C:\wamp\www\cartoweb3\client\CartoserverService.php
> call: Cartoserver->getMap(Object(MapRequest))
>
> file: 165 - C:\wamp\www\cartoweb3\client\CartoserverService.php
> call: CartoserverService->callDirect("getMap", Object(MapRequest))
>
> file: 233 - C:\wamp\www\cartoweb3\client\CartoserverService.php
> call: CartoserverService->callFunction("getMap", Object(MapRequest))
>
> file: 916 - C:\wamp\www\cartoweb3\client\Cartoclient.php
> call: CartoserverService->getMap(Object(MapRequest))
>
> file: 1045 - C:\wamp\www\cartoweb3\client\Cartoclient.php
> call: Cartoclient->getMapResultFromRequest(Object(MapRequest))
>
> file: 1220 - C:\wamp\www\cartoweb3\client\Cartoclient.php
> call: Cartoclient->doMain()
>
> file: 38 - C:\wamp\www\cartoweb3\htdocs\client.php
> call: Cartoclient->main()
>
> file: 3 - C:\wamp\www\cartoweb3\htdocs\mymap.php
> call: require_once("C:\wamp\www\cartoweb3\htdocs\client.php").
>
> Utilizzando la funzione print ho potuto notare che nessuna parte del server
> viene eseguita o, comunque, l'errore
>
> viene generato dall'inizializzazione.
> Qualcuno ha gia implementato un plugin simele?
> Qualcuno può aiutarmi?
> Non so più che pesci prendere.
> Grazie.
> --
> Email.it, the professional e-mail, gratis per te: http://www.email.it/f
>
> Sponsor:
> Prestiti e Finanziamenti con un semplice click, scopri subito se sei
> finanziabile cliccando qui
> Clicca qui: http://adv.email.it/cgi-bin/foclick.cgi?mid=2910&d=20070402
>
>
> _______________________________________________
> Cartoweb-users mailing list
> Cartoweb-users at lists.maptools.org
> http://lists.maptools.org/mailman/listinfo/cartoweb-users
--
Yves Jacolin
---
http://yjacolin.gloobe.org
More information about the Cartoweb-users
mailing list