hi, it did contribute to a problem i was seeing--url's longer than GET
could handle. so i added POST capabilities to your xmlhttp call().
below...<br>
use as before, just send in an optional 4th parameter and it will assume the method is POST. <br>
-b<br>
<br>
<pre>function call(u,o,f)<br>{<br>    var method = &quot;GET&quot;;<br>    var dat;<br>    if (arguments.length==4){<br>      method = &quot;POST&quot;;<br>      tmp = u.split(/\?/);<br>      u = tmp[0];<br>      dat = tmp[1];
<br>    }<br>    var idx = aXmlHttp.length;<br>    for(var i=0; i&lt;idx;i++)<br>    if (aXmlHttp[i] == null)<br>    {<br>        idx = i;<br>        break;<br>    }<br>    aXmlHttp[idx]=new Array(2);<br>    aXmlHttp[idx][0] = getXMLHTTP();
<br>    aXmlHttp[idx][1] = o;<br>    aXmlHttp[idx][2] = f;<br>    if(aXmlHttp[idx])<br>    {<br>        aXmlHttp[idx][0].open(method,u,true);<br>        if(method == &quot;POST&quot;){<br>          aXmlHttp[idx][0].setRequestHeader(&quot;Content-Type&quot;, &quot;application/x-www-form-urlencoded&quot;);
<br>          aXmlHttp[idx][0].send(dat);<br>        }<br>        aXmlHttp[idx][0].onreadystatechange=xmlResult;<br>        <br>       if(method ==&quot;GET&quot;){ aXmlHttp[idx][0].send(null);}<br>    }<br>}</pre>
<br>
<br>
<br>
<br>
<br><br><div><span class="gmail_quote">On 9/16/05, <b class="gmail_sendername">Paul Spencer</b> &lt;<a href="mailto:pspencer@dmsolutions.ca">pspencer@dmsolutions.ca</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
ah ... the floor() is there because floating point precision isn't<br>useful in pixel coordinates.<br><br>Does anyone have any thoughts on this?&nbsp;&nbsp;If it solves this problem and<br>doesn't introduce new problems then I'm happy to make the change.
<br><br>Paul<br><br>On 16-Sep-05, at 2:08 PM, Brent Pedersen wrote:<br><br>&gt; hi,<br>&gt; i found what you mean about the sign problem in geoToPix. but if<br>&gt; you get rid of your 'floor' calls in function geoToPix, that fixes
<br>&gt; at least the problems i was seeing.<br>&gt; -brent<br>&gt;<br>&gt; On 9/12/05, Paul Spencer &lt;<a href="mailto:pspencer@dmsolutions.ca">pspencer@dmsolutions.ca</a>&gt; wrote: what is<br>&gt; it that you need to do to the pix coords?&nbsp;&nbsp;This might help me
<br>&gt; figure out what the best solution is.<br>&gt;<br>&gt; btw ... pix2geo -&gt; geo2pix *should* work but I think that is where the<br>&gt; sign problem comes in.<br>&gt;<br>&gt; The geographic -&gt; pixel and pixel-&gt;geographic conversions are very
<br>&gt; straight-forward, the complication comes in trying to position stuff<br>&gt; within the viewport because we need to have the whole xOrigin/<br>&gt; yOrigin thing.<br>&gt;<br>&gt; Try taking a look at what I did in 
kaQuery.js to see if that helps?<br>&gt;<br>&gt; Cheers<br>&gt;<br>&gt; Paul<br>&gt;<br>&gt; Brent Pedersen wrote:<br>&gt; &gt; ok, i think i get it. or at least see why it wasn't working.<br>&gt; &gt; what i want to do is:
<br>&gt; &gt; given some geo coords, convert to pix coords, do stuff in pixel<br>&gt; coords,<br>&gt; &gt; convert back to geo coords then add back to the map.<br>&gt; &gt;<br>&gt; &gt; it seems i cant just do:<br>&gt; &gt; geoToPix
<br>&gt; &gt; do stuff<br>&gt; &gt; pixToGeo<br>&gt; &gt; addObjectGeo<br>&gt; &gt;<br>&gt; &gt; do i need the x/yOrigin offsets in there somewhere?<br>&gt; &gt; i'll have a look this week but any insight you have i'll take.
<br>&gt; &gt; thanks,<br>&gt; &gt; -brent<br>&gt; &gt;<br>&gt; &gt;<br>&gt; &gt;<br>&gt; &gt;<br>&gt; &gt;<br>&gt; &gt;<br>&gt; &gt;<br>&gt; &gt; On 9/11/05, *Paul Spencer* &lt;<a href="mailto:pspencer@dmsolutions.ca">pspencer@dmsolutions.ca
</a><br>&gt; &gt; &lt;mailto:<a href="mailto:pspencer@dmsolutions.ca">pspencer@dmsolutions.ca</a>&gt;&gt; wrote:<br>&gt; &gt;<br>&gt; &gt;&nbsp;&nbsp;&nbsp;&nbsp; Hi Brent,<br>&gt; &gt;<br>&gt; &gt;&nbsp;&nbsp;&nbsp;&nbsp; you have unwittingly uncovered one of my skeletons ... this
<br>&gt; code is<br>&gt; &gt;&nbsp;&nbsp;&nbsp;&nbsp; pretty raw, I got it to work one day without truely<br>&gt; understanding why it<br>&gt; &gt;&nbsp;&nbsp;&nbsp;&nbsp; was working and ... well, its not pretty ...<br>&gt; &gt;<br>&gt; &gt;&nbsp;&nbsp;&nbsp;&nbsp; When you add an object using addObjectGeo, it doesn't follow
<br>&gt; quite the<br>&gt; &gt;&nbsp;&nbsp;&nbsp;&nbsp; same logic as you have applied.<br>&gt; &gt;<br>&gt; &gt;&nbsp;&nbsp;&nbsp;&nbsp; addObjectPix subtracts the xOrigin and yOrigin values from<br>&gt; the pixel<br>&gt; &gt;&nbsp;&nbsp;&nbsp;&nbsp; location to get the actual display location (xOrigin and
<br>&gt; yOrigin were<br>&gt; &gt;&nbsp;&nbsp;&nbsp;&nbsp; required to prevent problems with the pixel location of the<br>&gt; images<br>&gt; &gt;&nbsp;&nbsp;&nbsp;&nbsp; becoming so large that some browsers switched to scientific<br>&gt; notation and<br>&gt; &gt;&nbsp;&nbsp;&nbsp;&nbsp; started truncating the numbers).&nbsp;&nbsp;So in case two, the object
<br>&gt; will be<br>&gt; &gt;&nbsp;&nbsp;&nbsp;&nbsp; positioned at -xOrigin, -yOrigin.<br>&gt; &gt;<br>&gt; &gt;&nbsp;&nbsp;&nbsp;&nbsp; In case one, pixToGeo is adding the xOrigin and yOrigin<br>&gt; offsets if you<br>&gt; &gt;&nbsp;&nbsp;&nbsp;&nbsp; pass true ... so the actual location is +xOrigin,
<br>&gt; +yOrigin ... hence the<br>&gt; &gt;&nbsp;&nbsp;&nbsp;&nbsp; difference.<br>&gt; &gt;<br>&gt; &gt;&nbsp;&nbsp;&nbsp;&nbsp; If you pass false to pixToGeo, it should return you the right<br>&gt; numbers to<br>&gt; &gt;&nbsp;&nbsp;&nbsp;&nbsp; match case two.&nbsp;&nbsp;However ... one of the problems that I know
<br>&gt; about is<br>&gt; &gt;&nbsp;&nbsp;&nbsp;&nbsp; with signs ... something weird happens and stuff gets the<br>&gt; wrong sign, I<br>&gt; &gt;&nbsp;&nbsp;&nbsp;&nbsp; haven't figured it out yet.&nbsp;&nbsp;I don't think that is the case<br>&gt; here though,<br>&gt; &gt;&nbsp;&nbsp;&nbsp;&nbsp; since you should be getting 0,0 in both cases (and sign
<br>&gt; shouldn't<br>&gt; &gt;&nbsp;&nbsp;&nbsp;&nbsp; matter).<br>&gt; &gt;<br>&gt; &gt;&nbsp;&nbsp;&nbsp;&nbsp; I think the real problem is that you aren't really supposed<br>&gt; to use<br>&gt; &gt;&nbsp;&nbsp;&nbsp;&nbsp; addObjectPix because of the xOrigin,yOrigin shift.&nbsp;&nbsp;What you
<br>&gt; would<br>&gt; &gt;&nbsp;&nbsp;&nbsp;&nbsp; really need to do to get both cases to work would be:<br>&gt; &gt;<br>&gt; &gt;&nbsp;&nbsp;&nbsp;&nbsp; map.addObjectGeo ( oCanvas, 0, 0, o1 );<br>&gt; &gt;&nbsp;&nbsp;&nbsp;&nbsp; map.addObjectPix( oCanvas, -map.xOrigin, -map.yOrigin
, o2 );<br>&gt; &gt;<br>&gt; &gt;&nbsp;&nbsp;&nbsp;&nbsp; Not sure if my explanation is coherent ...<br>&gt; &gt;<br>&gt; &gt;&nbsp;&nbsp;&nbsp;&nbsp; Cheers<br>&gt; &gt;<br>&gt; &gt;&nbsp;&nbsp;&nbsp;&nbsp; Paul<br>&gt; &gt;<br>&gt; &gt;&nbsp;&nbsp;&nbsp;&nbsp; Brent Pedersen wrote:<br>&gt; &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt; hi, i don't understand what's going on in my test script. i
<br>&gt; &gt;&nbsp;&nbsp;&nbsp;&nbsp; expect case<br>&gt; &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt; 1 and case 2 to show up in the same location: they dont.<br>&gt; &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt;<br>&gt; &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&nbsp;&nbsp; map = new kaMap('viewport');<br>&gt; &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt;<br>&gt; &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&nbsp;&nbsp; oCanvas = 
map.createDrawingCanvas(5);<br>&gt; &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&nbsp;&nbsp; var o1 = document.createElement('img');<br>&gt; &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&nbsp;&nbsp; var o2 = document.createElement('img');<br>&gt; &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&nbsp;&nbsp; o1.src = 'images/up.jpg' ;<br>&gt; &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&nbsp;&nbsp; 
o2.src = 'images/up.jpg' ;<br>&gt; &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt;<br>&gt; &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt;<br>&gt; &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt; // case 1: convert pixel (0,0 to geo and addObjectGeo):<br>&gt; &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&nbsp;&nbsp; var xg = map.pixToGeo(0,0,true);<br>&gt; &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&nbsp;&nbsp; 
map.addObjectGeo( oCanvas, xg[0], xg[1], o1 );<br>&gt; &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt;<br>&gt; &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt; // case 2: just addObject Pix<br>&gt; &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&nbsp;&nbsp; var xp = [0,0];<br>&gt; &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&nbsp;&nbsp; map.addObjectPix( oCanvas, xp[0], xp[1], o2 );
<br>&gt; &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt;<br>&gt; &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt;<br>&gt; &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt; i have tried pixToGeo with and without the 3rd arg.<br>&gt; &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt;<br>&gt; &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt; what am i missing? i'm using the default omap example
<br>&gt; mapfile and the<br>&gt; &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt; CVS version of kamap.<br>&gt; &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt;<br>&gt; &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt; maybe i just need a primer on how these relate??<br>&gt; &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt;<br>&gt; &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt; thanks for any suggestions,
<br>&gt; &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt; -brent<br>&gt; &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt;<br>&gt; &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt;<br>&gt; &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt;<br>&gt; &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt;<br>&gt; &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt;<br>&gt; &gt;<br>&gt; ----------------------------------------------------------------------
<br>&gt; --<br>&gt; &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt;<br>&gt; &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt; _______________________________________________<br>&gt; &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt; ka-Map-users mailing list<br>&gt; &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt; <a href="mailto:ka-Map-users@lists.maptools.org">
ka-Map-users@lists.maptools.org</a><br>&gt; &gt;&nbsp;&nbsp;&nbsp;&nbsp; &lt;mailto:<a href="mailto:ka-Map-users@lists.maptools.org">ka-Map-users@lists.maptools.org</a> &gt;<br>&gt; &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt; <a href="http://lists.maptools.org/mailman/listinfo/ka-map-users">
http://lists.maptools.org/mailman/listinfo/ka-map-users</a><br>&gt; &gt;&nbsp;&nbsp;&nbsp;&nbsp; &lt; <a href="http://lists.maptools.org/mailman/listinfo/ka-map-users">http://lists.maptools.org/mailman/listinfo/ka-map-users</a>&gt;<br>&gt; &gt;
<br>&gt; &gt;&nbsp;&nbsp;&nbsp;&nbsp; --<br>&gt; &gt;<br>&gt; +-----------------------------------------------------------------+<br>&gt;
&gt;&nbsp;&nbsp;&nbsp;&nbsp; |Paul
Spencer&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<a href="mailto:pspencer@dmsolutions.ca">pspencer@dmsolutions.ca</a><br>&gt; &gt;&nbsp;&nbsp;&nbsp;&nbsp; &lt;mailto:<a href="mailto:pspencer@dmsolutions.ca">pspencer@dmsolutions.ca</a>&gt;&nbsp;&nbsp; |<br>&gt; &gt;<br>&gt; +-----------------------------------------------------------------+
<br>&gt; &gt;&nbsp;&nbsp;&nbsp;&nbsp; |Applications &amp; Software<br>&gt;
Development&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|<br>&gt;
&gt;&nbsp;&nbsp;&nbsp;&nbsp; |DM Solutions Group
Inc&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
http://<br>&gt; <a href="http://www.dmsolutions.ca/|">www.dmsolutions.ca/|</a><br>&gt; &gt;<br>&gt; +-----------------------------------------------------------------+<br>&gt; &gt;<br>&gt; &gt;<br>&gt;<br>&gt; --<br>&gt; +-----------------------------------------------------------------+
<br>&gt;
|Paul
Spencer&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<a href="mailto:pspencer@dmsolutions.ca">pspencer@dmsolutions.ca</a>&nbsp;&nbsp; |<br>&gt; +-----------------------------------------------------------------+<br>&gt;
|Applications &amp; Software
Development&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|<br>&gt;
|DM Solutions Group
Inc&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<a href="http://www.dmsolutions.ca/|">http://www.dmsolutions.ca/|</a><br>&gt; +-----------------------------------------------------------------+<br>&gt;<br><br>+-----------------------------------------------------------------+
<br>|Paul
Spencer&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<a href="mailto:pspencer@dmsolutions.ca">pspencer@dmsolutions.ca</a>&nbsp;&nbsp; |<br>+-----------------------------------------------------------------+<br>|Applications
&amp; Software
Development&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|<br>|DM
Solutions Group
Inc&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<a href="http://www.dmsolutions.ca/|">http://www.dmsolutions.ca/|</a><br>+-----------------------------------------------------------------+<br><br><br><br><br></blockquote></div><br>