<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="Generator" CONTENT="MS Exchange Server version 6.5.7036.0">
<TITLE>[OpenLayers-Dev] ArcGIS server 9.2 support for OL</TITLE>
</HEAD>
<BODY>
<!-- Converted from text/rtf format -->

<P><FONT SIZE=2 FACE="Arial">Hi,</FONT>

<BR><FONT SIZE=2 FACE="Arial">I have problems using the AGS mapcache component.</FONT>

<BR><FONT SIZE=2 FACE="Arial">I'm getting problems fitting the map correctly.</FONT>
</P>

<P><FONT SIZE=2 FACE="Arial">I have tried to calculate the mapextent but does not get correct results anyway. (se below)</FONT>

<BR><FONT SIZE=2 FACE="Arial">I have struggled with this in a couple of weeks now and would be very happy if someone&nbsp; just could veryfy my way of calculating the extent.</FONT></P>

<P><FONT SIZE=2 FACE="Arial">Over the map I'm getting errors from 10-20 meter up to several 1000 meters.</FONT>

<BR><FONT SIZE=2 FACE="Arial">Also when I zoomin by doubleclicking the map is not centered where I clicked.</FONT>
</P>

<P><FONT SIZE=2 FACE="Arial">Regards</FONT>

<BR><FONT SIZE=2 FACE="Arial">Michael</FONT>

<BR><FONT SIZE=2 FACE="Arial">**********************************************</FONT>
</P>

<P><FONT SIZE=2 FACE="Arial">Have I understood it correctly when I'm doing the following.</FONT>
</P>

<P><FONT SIZE=2 FACE="Arial">I have a mapcache that have a origin (Upper Left)&nbsp; at 1 200 000, 7 700 000</FONT>
</P>

<P><FONT SIZE=2 FACE="Arial">In my most detalied level of the cache&nbsp; I have 384 rows and 170 columns.</FONT>

<BR><FONT SIZE=2 FACE="Arial">Pixelsize is 512x512. Resolution in this level is 8.46668360003387&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (meter)</FONT>
</P>

<P><FONT SIZE=2 FACE="Arial">My total extentsize is therefore<BR>
East-West&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 512 * 170 * 8.46668360003387 =</FONT> <FONT COLOR="#000000" SIZE=2 FACE="Arial">736940,1405469480000</FONT>

<BR><FONT COLOR="#000000" SIZE=2 FACE="Arial">North-South&nbsp;&nbsp; 512 * 384 *</FONT> <FONT SIZE=2 FACE="Arial">8.46668360003387&nbsp; =</FONT> <FONT COLOR="#000000" SIZE=2 FACE="Arial">1664617,7292354600000</FONT>
</P>

<P><FONT COLOR="#000000" SIZE=2 FACE="Arial">My extentborder in west is therefore 1 200 000 +</FONT> <FONT COLOR="#000000" SIZE=2 FACE="Arial">736940,1405469480000</FONT><FONT COLOR="#000000" SIZE=2 FACE="Arial">&nbsp; =</FONT> <FONT COLOR="#000000" SIZE=2 FACE="Arial">1936940</FONT><FONT COLOR="#000000" SIZE=2 FACE="Arial">.</FONT><FONT COLOR="#000000" SIZE=2 FACE="Arial">1405469500000</FONT>

<BR><FONT COLOR="#000000" SIZE=2 FACE="Arial">My extentborder in south is 7 700 000 -</FONT> <FONT COLOR="#000000" SIZE=2 FACE="Arial">1664617,7292354600000</FONT><FONT COLOR="#000000" SIZE=2 FACE="Arial"> =</FONT> <FONT COLOR="#000000" SIZE=2 FACE="Arial">6035382,0088900200000</FONT>
</P>

<P><FONT COLOR="#000000" SIZE=2 FACE="Arial">In my code I have written:<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var lon = 1600000;</FONT>

<BR><FONT COLOR="#000000" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var lat = 6700000;</FONT>

<BR><FONT COLOR="#000000" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var zoom = 6;</FONT>

<BR><FONT COLOR="#000000" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var map, layer,layer2;</FONT>
</P>

<P><FONT COLOR="#000000" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; function init(){</FONT>

<BR><FONT COLOR="#000000" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; map = new OpenLayers.Map( 'map', {</FONT>

<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <FONT COLOR="#000000" SIZE=2 FACE="Arial">maxExtent: new OpenLayers.Bounds(1200000,6035382.00889002,1936940.14054695,7700000),</FONT>

<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <FONT COLOR="#000000" SIZE=2 FACE="Arial">maxResolution: 2116.67090000847,resolutions: new Array(2116.67090000847, 1058.33545000423, 529.167725002117, 264.583862501058, 132.291931250529, 66.1459656252646,&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;&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;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 33.0729828126323, 16.9333672000677, 8.46668360003387),<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; tileSize : new OpenLayers.Size(512,512),</FONT>

<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <FONT COLOR="#000000" SIZE=2 FACE="Arial">tileOrigin: new OpenLayers.LonLat(1200000,7700000),units: 'm'} );</FONT>

<BR><FONT COLOR="#000000" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; layer = new OpenLayers.Layer.AGS( &quot;AGS&quot;,</FONT>

<BR><FONT COLOR="#000000" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &quot;</FONT><A HREF="http://metaport3/OL_AGS/Layers"><U></U><U><FONT COLOR="#0000FF" SIZE=2 FACE="Arial">http://metaport3/OL_AGS/Layers</FONT></U></A><FONT COLOR="#000000" SIZE=2 FACE="Arial">&quot;, {layername: '_alllayers', type:'png',</FONT>

<BR><FONT COLOR="#000000" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; tileOrigin: new OpenLayers.LonLat(1200000,7700000)</FONT>

<BR><FONT COLOR="#000000" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } );</FONT>
</P>

<P><FONT COLOR="#000000" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; map.addLayer(layer);</FONT>
</P>

<P><FONT COLOR="#000000" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; map.addControl(new OpenLayers.Control.LayerSwitcher());</FONT>

<BR><FONT COLOR="#000000" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; map.addControl(new OpenLayers.Control.MousePosition());</FONT>

<BR><FONT COLOR="#000000" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; map.setCenter(new OpenLayers.LonLat(lon, lat), zoom);</FONT>

<BR><FONT COLOR="#000000" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</FONT>

<BR><FONT COLOR="#000000" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; function addAGS() {</FONT>

<BR><FONT COLOR="#000000" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; l = new OpenLayers.Layer.AGS(</FONT>

<BR><FONT COLOR="#000000" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; OpenLayers.Util.getElement('layer').value,</FONT>

<BR><FONT COLOR="#000000" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; OpenLayers.Util.getElement('url').value,</FONT>

<BR><FONT COLOR="#000000" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {</FONT>

<BR><FONT COLOR="#000000" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 'layername': OpenLayers.Util.getElement('layer').value,</FONT>

<BR><FONT COLOR="#000000" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 'type': OpenLayers.Util.getElement('type').value</FONT>

<BR><FONT COLOR="#000000" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; });</FONT>

<BR><FONT COLOR="#000000" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; map.addLayer(l);</FONT>

<BR><FONT COLOR="#000000" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; map.setBaseLayer(l);</FONT>

<BR><FONT COLOR="#000000" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</FONT>
</P>
<BR>

<P><FONT SIZE=2 FACE="Arial">mvh<BR>
Michael</FONT>
</P>

<P><FONT SIZE=2 FACE="Arial">------------------------------------------------------------------<BR>
<B></B></FONT><B></B><B><FONT COLOR="#800000" FACE="Garamond">MetaGIS AB<I><BR>
Michael Östling<BR>
</I></FONT></B><I></I><FONT COLOR="#800000" SIZE=2 FACE="Garamond">Mob: 070-279 19 76<BR>
Tel: 023 - 702 20 10<BR>
ePost: </FONT><A HREF="mailto:michael.ostling@metagis.se"><U><FONT COLOR="#0000FF" SIZE=2 FACE="Garamond">michael.ostling@metagis.se</FONT></U></A><BR>
<FONT COLOR="#800000" SIZE=2 FACE="Garamond">Adress: Britsarvsvägen 28a, 791 36 FALUN<BR>
Org Nr: 556638-7170<BR>
</FONT><FONT SIZE=2 FACE="Arial">------------------------------------------------------------------</FONT>
</P>
<BR>

</BODY>
</HTML>