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&v=2&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