阅读:1657回复:2
arcims(HtmlView)开发经验总结(4) 鹰眼实现
<P>鹰眼实现方法:根据arcIMS代码说明,掌握逻辑后,mapinfo,mapx,mo等实现就容易了。</P>
<P>开始前,大家首先要对arcims中,如何记录地图位置熟悉。</P> <P>抓一副全图,存成gif文件,作为鹰眼图底图。</P> <P>var fullOVLeft = 116; //全图时,地图最左边代表的经度 当你用其他坐标体系的坐标时,这个值不同。一般,我们熟悉经纬度。 var fullOVRight = 117; //全图时,地图最右边代表的经度 var fullOVTop = 40; //全图时,地图最上边代表的经度 var fullOVBottom = 39.6; //全图时,地图最下边代表的经度</P> <P>//点击鹰眼, 入口参数是 屏幕 鼠标的坐标 function ovMapClick(x,y) { var ovWidth = 150; //我们鹰眼图的宽度 单位px,是屏幕单位 var ovHeight = 100; //鹰眼图的高度 单位px,是屏幕单位</P> <P>//下面两行代码得到,为什么要两个呢。可能我们显示的时候,把服务器返回的图片压缩了。 //每 px单位的屏幕宽度 代表的 经度距离 var ovXincre = fullOVWidth / ovWidth; //每 px单位的屏幕宽度 代表的 纬度距离 var ovYincre = fullOVHeight / ovHeight; var ovX = x; var ovY = ovHeight - y;//注意,屏幕 和 地理 坐标原点不同。在其他文章中提到过。 //下面两行代码我们得到了 鼠标点击位置代表的 地理位置。(经纬度) var ovmapX = ovX * ovXincre + fullOVLeft; var ovmapY = ovY * ovYincre + fullOVBottom; //arcims带的,当我们想看上一操作的地图时,这些保存的东西就有用咯。 saveLastExtent(); //下面代码表示 改变地图的中心点,但是room 值不变。arcIMS中,是以下实现的。在 mapxtreme中,一个函数就OK了。</P> <P> //熟悉arcIMS的,以下代码可能明白。 eLeft = ovmapX - xHalf; eRight = ovmapX + xHalf; eTop = ovmapY + yHalf; eBottom = ovmapY - yHalf; sendMapXML();</P> <P>}</P> |
|
1楼#
发布于:2005-05-03 13:45
<img src="images/post/smile/dvbbs/em01.gif" /><img src="images/post/smile/dvbbs/em01.gif" /><img src="images/post/smile/dvbbs/em01.gif" />
|
|
|
2楼#
发布于:2004-12-10 09:47
<img src="images/post/smile/dvbbs/em01.gif" /><img src="images/post/smile/dvbbs/em02.gif" /><img src="images/post/smile/dvbbs/em04.gif" /><img src="images/post/smile/dvbbs/em05.gif" /><img src="images/post/smile/dvbbs/em06.gif" />
|
|
|