Topic: ERROR: ExecuteCommand (#0, ): for Google Maps plugin

Hello all,

Hope you can provide some guidance on debugging the GoogleMaps plugin.  I am using XAJAX-0.5-FINAL and have adopted the example code from the test suite to my test code.  It seems to output a XAJAX command response (looks valid) but I am not sure what a correct response should look like.

But from the XAJAX debug; it looks like a malformed response somewhere

Code: PHP

xajax debug output

Thu Sep 24 2009 15:00:36 GMT+0800 (MYT)



DONE [178ms]



Thu Sep 24 2009 15:00:36 GMT+0800 (MYT)



ERROR: ExecuteCommand (#0, ):

Invalid response command: Malformed response command received.



Thu Sep 24 2009 15:00:36 GMT+0800 (MYT)



RECEIVED [status: 200, size: 120 bytes, time: 176ms]:

<?xml version="1.0" encoding="utf-8" ?>

<xjx>

<cmd n="gm:cr" t="myMapPlaceholder" plg="clsGoogleMap">SmyMap</cmd>

</xjx>



Thu Sep 24 2009 15:00:36 GMT+0800 (MYT)



SENT [35 bytes]



Thu Sep 24 2009 15:00:36 GMT+0800 (MYT)



SENDING REQUEST



Thu Sep 24 2009 15:00:36 GMT+0800 (MYT)



CALLING:

xjxfun: createMap

URI:

http://localhost/googleMap.php



Thu Sep 24 2009 15:00:36 GMT+0800 (MYT)



POST: xjxfun=createMap

&xjxr=1253775636596



Thu Sep 24 2009 15:00:36 GMT+0800 (MYT)



INITIALIZING REQUEST OBJECT



Thu Sep 24 2009 15:00:36 GMT+0800 (MYT)



PREPARING REQUEST



Thu Sep 24 2009 15:00:36 GMT+0800 (MYT)



PROCESSING PARAMETERS [0]



Thu Sep 24 2009 15:00:36 GMT+0800 (MYT)



INITIALIZING REQUEST



Thu Sep 24 2009 15:00:36 GMT+0800 (MYT)



STARTING XAJAX REQUEST

 

Sample code below:

Code: PHP

<html>

    <head>

       

<script type="text/javascript" charset="UTF-8">

/* <![CDATA[ */

try { if (undefined == xajax.config) xajax.config = {}; } catch (e) { xajax = {}; xajax.config = {}; };

xajax.config.requestURI = "http://map.carlist.my/googleMap.php";

xajax.config.statusMessages = false;

xajax.config.waitCursor = true;

xajax.config.version = "xajax 0.5";

xajax.config.legacy = false;

xajax.config.defaultMode = "asynchronous";

xajax.config.defaultMethod = "POST";

/* ]]> */

</script>

<script type="text/javascript" src="./Includes/libs/xajax05FINAL/xajax_js/xajax_core.js" charset="UTF-8"></script>

<script type="text/javascript" src="./Includes/libs/xajax05FINAL/xajax_js/xajax_debug.js" charset="UTF-8"></script>

<script type="text/javascript" charset="UTF-8">

/* <![CDATA[ */

window.setTimeout(

 function() {

  var scriptExists = false;

  try { if (xajax.isLoaded) scriptExists = true; }

  catch (e) {}

  if (!scriptExists) {

   alert("Error: the xajax Javascript component could not be included. Perhaps the URL is incorrect?\nURL: ./Includes/libs/xajax05FINAL/xajax_js/xajax_core.js");

  }

 }, 2000);

/* ]]> */

</script>

<script type="text/javascript" charset="UTF-8">

/* <![CDATA[ */

window.setTimeout(

 function() {

  var scriptExists = false;

  try { if (xajax.debug.isLoaded) scriptExists = true; }

  catch (e) {}

  if (!scriptExists) {

   alert("Error: the xajax.debug Javascript component could not be included. Perhaps the URL is incorrect?\nURL: ./Includes/libs/xajax05FINAL/xajax_js/xajax_debug.js");

  }

 }, 2000);

/* ]]> */

</script>



<script type='text/javascript' charset='UTF-8'>

/* <![CDATA[ */

xajax_createMap = function() { return xajax.request( { xjxfun: 'createMap' }, { parameters: arguments } ); };

xajax_zoom = function() { return xajax.request( { xjxfun: 'zoom' }, { parameters: arguments } ); };

xajax_zoom = function() { return xajax.request( { xjxfun: 'zoom' }, { parameters: arguments } ); };

xajax_zoom = function() { return xajax.request( { xjxfun: 'zoom' }, { parameters: arguments } ); };

xajax_setMarker = function() { return xajax.request( { xjxfun: 'setMarker' }, { parameters: arguments } ); };

/* ]]> */

</script>



<script src='http://maps.google.com/maps?file=api&amp;v=2&amp;key=XXXXXXXXXXXXXXX' type='text/javascript'>

</script>



<script type='text/javascript' charset='UTF-8'>

/* <![CDATA[ */

maps = {};

xajax.command.handler.register('gm:cr', function(args) {

    maps[args.data] = new GMap2(args.objElement);

    var ptCenter = new GLatLng(0, 10);

    maps[args.data].setCenter(ptCenter, 10);

    maps[args.data].addControl(new GSmallMapControl());

    maps[args.data].addControl(new GMapTypeControl());

    maps[args.data].setMapType(maps[args.data].getMapTypes()[2]);

});

xajax.command.handler.register('gm:zm', function(args) {

    maps[args.id].setZoom(parseInt(args.data));

});

xajax.command.handler.register('gm:sm', function(args) {

    var ptCenter = new GLatLng(args.data[0], args.data[1]);

    var markerNew = new GMarker(ptCenter);

    markerNew.text = args.data[2];

    maps[args.id].addOverlay(markerNew);

    GEvent.addListener(maps[args.id], 'click', function(marker, point) {

        if (marker && undefined != marker.openInfoWindowHtml) {

            marker.openInfoWindowHtml(marker.text);

        }

    } );

});

/* ]]> */

</script>

    </head>

    <body>

        <a href='#' onclick='xajax_createMap(); return false;'>Create Map</a>

       



        <a href='#' onclick='xajax_zoom("myMap", 5); return false;'>Zoom 5</a>



       



        <a href='#' onclick='xajax_zoom("myMap", 10); return false;'>Zoom 10</a>

       



        <a href='#' onclick='xajax_zoom("myMap", 14); return false;'>Zoom 14</a>

       



        <form id='marker' action='#' method='post' onsubmit='return false;'>

            Lat: <input type='text' name='lat' value='0'>



           



            Lon: <input type='text' name='lon' value='10'>

           



            Text: <input type='text' name='text' value='Test marker with

embedded <b>html</b>.'>

           



            <a href='#' onclick='xajax_setMarker("myMap", xajax.getFormValues("marker")); return false;'>Set Marker</a>

        </form>



       

        <div id='myMapPlaceholder' style='position: relative; width: 500px; height: 300px;'>

        </div>

    </body>

</hmtl>



 

Any help to point me to the right direction would be much appreciated.  Thanks!

Michael Leow