posts - 119, comments - 62, trackbacks - 0, articles - 0

根据arcIMS代码说明,掌握逻辑后,mapinfo,mapx,mo等实现就容易了。

开始前,大家首先要对arcims中,如何记录地图位置熟悉。

抓一副全图,存成gif文件,作为鹰眼图底图。

var   fullOVLeft   =   116;         //全图时,地图最左边代表的经度       当你用其他坐标体系的坐标时,这个值不同。一般,我们熟悉经纬度。
var   fullOVRight   =   117;       //全图时,地图最右边代表的经度
var   fullOVTop   =   40;             //全图时,地图最上边代表的经度
var   fullOVBottom   =   39.6;   //全图时,地图最下边代表的经度

//点击鹰眼,   入口参数是   屏幕   鼠标的坐标
function   ovMapClick(x,y)   {
var   ovWidth   =   150;         //我们鹰眼图的宽度   单位px,是屏幕单位
var   ovHeight   =   100;       //鹰眼图的高度         单位px,是屏幕单位

//下面两行代码得到,为什么要两个呢。可能我们显示的时候,把服务器返回的图片压缩了。
//每   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了。

                //熟悉arcIMS的,以下代码可能明白。
eLeft   =   ovmapX   -   xHalf;
eRight   =   ovmapX   +   xHalf;
eTop   =   ovmapY   +   yHalf;
eBottom   =   ovmapY   -   yHalf;
sendMapXML();

}

只有注册用户登录后才能发表评论。


网站导航: