[UMN_MAPSERVER-USERS] zooming problem continues

Sandeep Bashyal gis at UNDPHAIS.ORG.NP
Wed Oct 27 00:01:25 EDT 2004


On Wed, 20 Oct 2004 11:15:52 +0300, temiz <temiz at DEPREM.GOV.TR> wrote:

> hello again
>
> I am sorry to extend the question.
>
> I think I can get pixel coord of the rectangle drawn with rubberband
> (for example $zoom_rect gives [minx] => 171 [miny] => 223 [maxx] => 231
> [maxy] => 175).
>
> here is the current extent:
> [minx] => 414562.225 [miny] => 4510820 [maxx] => 521317.775 [maxy] =>
> 4617510
>
> $map->zoomrectangle($zoom_rect,$map->width,$map->height,$my_extent);
>
> this command doesn't bring about any change. I get same image.
>
> I hesitate on:
> - $zoom_rect is in image(pixel) coord (or geographic coord).
>
>
> What might be the problem ?
>
> regards
>
>
>
> Skweda O'Bomsawin wrote:
>
>> Temiz,

Sorry I must have sent you the wrong javascript code. What you're doing
appears fine to me ($zoom_rect is in pixels). Here is the (i hope) correct
javascript:

function startRubber (evt) {
         if (document.all) {
      var r = document.all.rubberBand;
      r.style.width = 0;
      r.style.height = 0;
      r.style.pixelLeft = event.clientX - 2 ;
      r.style.pixelTop  = event.clientY - 2 ;
    }

    else if (document.layers) {
      var r = document.rubberBand;
      r.clip.width = 0; r.clip.height = 0;
      r.left = evt.x - 2 + 'px';
      r.top = evt.y - 2 + 'px';
      document.captureEvents(Event.MOUSEMOVE);
    }

   else if (document.getElementById) {
         var r = document.getElementById('rubberBand');
      r.style.width = 0;
      r.style.height = 0;
      r.style.left = evt.clientX - 2 + 'px';
      r.style.top = evt.clientY - 2 + 'px';
    }
    document.onmousemove = moveRubber;
}

function moveRubber (evt) {
   if (document.all) {
         var r = document.all.rubberBand;
         r.style.visibility = 'visible';
      r.style.width = event.clientX - r.style.pixelLeft -2 + 'px';
      r.style.height = event.clientY - r.style.pixelTop -2 + 'px';
      var f = document.forms['viewmap'];
      f.w.value = r.style.width;
      f.h.value = r.style.height;
    }

    else if (document.layers) {
      var r = document.rubberBand;
      r.visibility = 'show';
      r.clip.width = evt.x - r.left - 2 + 'px';
      r.clip.height = evt.y - r.top - 2 + 'px';
      r.document.open();
      r.document.write('<table width="' + r.clip.width + '" height="'
+ r.clip.height + '" border="1px solid
red"><tr><td><\/td><\/tr><\/table>');
      r.document.close();
      var f = document.forms('viewmap');
      f.w.value = r.clip.width;
      f.h.value = r.clip.height;
    }

   else if (document.getElementById) {
      var r = document.getElementById('rubberBand');
      r.style.visibility = 'visible'
      r.style.width = evt.clientX - parseInt(r.style.left) - 2 + 'px';
      r.style.height = evt.clientY - parseInt(r.style.top) - 2 + 'px';
      var ht = document.getElementById('h');
      var wt = document.getElementById('w');
      wt.value = r.style.width;
      ht.value = r.style.height;
    }
  }

function stopRubber (evt) {
    if (document.layers){document.releaseEvents(Event.MOUSEMOVE);}
    document.onmousemove = null;
  }

Regards.



--
Sandeep Bashyal
--
   National GIS Officer
   Humanitarian Assistance Information System (HAIS)
   United Nations (NEP/01/008)
   UN House, Pulchowk
   G.P.O. Box 107
   Kathmandu, Nepal
   Tel: (+977) 01 5543957
        (+977) 01 5554304
   Cell:(+977) 9841270854
   Fax: (+977) 01 5528059
--------------------------------------------------
mailto:gis at undphais.org.np
mailto:sandeep at earthmapping.com
http://www.undp.org.np



More information about the mapserver-users mailing list