dBox with mode=itemquery or itemnquery

Steve Lime Steve.Lime at DNR.STATE.MN.US
Mon Jul 17 10:18:06 PDT 2006


Rich: This is where AJAX can really help. The dbox code really doesn't help you here. It gives you the
tools to do something with the query result but not with the query itself. 

So, to do this you need 2 things or so:

  1) a method that is called to trigger the search (e.g. myLookup), and process the response
  2) a query template(s) to package the results for use in the client

One might look like:

function myLookup(map, layer, item, term) 
{
    var URL = map.mapserver + '?map=' + map.mapfile + '&mode=itemquery&qlayer=' + layer + '&qitem=' + item + '&qstring=' + term;
    var response = get_content(URL);

    // parse the response somehow, check for errors and such... (in this case the response is just a delimeted line, see template)
    var tokens = response.split(',');

   map.setExtent(tokens[1], tokens[2], tokens[3], tokens[4]);
   map.draw();
}

Two might look like (simple delimited response):

[NAME],[shpminx],[shpminy],[shpmaxx],[shpmaxy]

Does this sort of make sense? You could respond with XML and use that to drive some interface stuff- your choice. I suppose one could write a dbox add-on to turn myLookup into a more formal feature of the software with a callback and all.

Steve

>>> Richard Greenwood <richard.greenwood at GMAIL.COM> 7/17/2006 10:05:27 AM >>>
I am working with Steve's dBox and mapserv.js. It's great stuff. Does
anyone have any examples or suggestions for using mode=itemquery or
itemnquery? Specifically, how are you getting the new extent from the
server into the javascript map object? And how are you updating the
main map image (in mode=map you get an image back, but in
mode=anything_else you get an image in a directory on the server).

Rich

-- 
Richard Greenwood
richard.greenwood at gmail.com 
www.greenwoodmap.com



More information about the MapServer-users mailing list