⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 gisviewer3.htc

📁 HTC,demo WEB用于。 超大型
💻 HTC
📖 第 1 页 / 共 5 页
字号:
var const_db_minY = 2516803.40160971;      //将区和县同时显示在可视范围内,5个“区”将非常小
var const_db_maxX = 36543773.0346302;      //以至于看不见,这四个常数是能够显示地图的最优比例
var const_db_maxY = 2533669.26772948;      //尺,将会在“单病种”,“疾病顺位”中都有应用

/////////////////hzh 2004-11-20 add//////////////////////
var objDSBeginDate;						   //疾病顺位统计开始时间
var objDSEndDate;						   //疾病顺位统计结束时间
////////////////////////////////////////////////////////////////////////

var objAccidentReportTimer = null;        //公共卫生事件控制::定期(30秒)查询是否存在未处理的公共卫生事件报告
var strPreAccidentIDOfInstitution = "";   //公共卫生事件控制::上次跳转到的医院的ID
var boolAccidentReportChangeMap = false;  //公共卫生事件控制::发生了地图跳转

//工具栏,用于存放每个按钮的功能标志的数组,将和Cell的索引配合使用,这样每个Cell中就不必记录它的功能
var arrToolbarFlag = new Array("showShadow","setLayer","legend","zoomIn","zoomOut","pan","fullExtent","line","chartSymble","find","catchPic","exportData","dorctor","pubHealth","测量折线距离","setting2","help","exit");

//按钮图片的地址
var arrToolbarFlagSrc = new Array("../images/showShadow.png","../images/setLayer.png","../images/legend.png","../images/zoomIn.png","../images/zoomOut.png","../images/pan.png","../images/fullExtent.png","../images/line.png","../images/chartSymble.png","../images/find.png","../images/catchPic.png","../images/exportData.png","../images/dorctor.png","../images/pubHealth.png","../images/setting.png","../images/setting2.png","../images/help.png","../images/exit.png");

//颜色备选列表
var objCakyColorArray = new Array('#CC0000','#66CC00','#990033','#009900','#006699','#006633','#33FFCC','#99CC66','#66FF66','#333366','#FF6699','#FF3399','#FFCC00','#CCFFFF','#000000','#009999','#0066CC','#6699FF','#3300CC','#336600','#CCCC99','#996699','#9933FF','#CCCCCC','#CC3333','#33CCCC','#FF6699','#FFFF00','#66FF00','#000099','#CC9999','#666600','#CCCC33','#FFFFCC','#FF6600','#336666');


var objSparkTimer = null;                  //时间器,控制闪动的VML标识信号

var objOvalSparkTimer = null;                  //时间器,控制闪动的VML标识信号
var objOvalSparkTimer2 = null;                  //时间器,控制闪动的VML标识信号

var objSparkOval = null;                   //覆盖在医院VML点上闪动的小圆圈

var objPopupMenuHTC = null;                //弹出菜单

var toolMode =  0;                          //操作类型,是全局变量,在clickToolbar中设置,表示某一种操作,
                                           //以便在用户和地图交互时做相应的操作;初始值“1”表示放大操作

////////////////////////状态全局参数////////////////////////////
var strActiveWin = "";                     //Shadow | Dialog

////////////////////////基础地图参数,由发布的服务决定////////////////////////////
var strIMSURL = "";                        //IMS服务的地址
var objStartEnvelopeRect = null;           //初始  地图边界
var objLimitEnvelopeRect = null;           //最大  地图边界
var objCurrentEnvelopeRect = null;         //当前地图区域
var objShadowEnvelopeRect = null;          //鹰眼的Envelope 
var objSwapEnvelopeRect = null;            //缓存的Envelope,用于单病种监测地图变化之后重新恢复到上一次的Envelope

var strMapUnits = "";                      //地图长度单位
var strScaleBarUnits = "";                 //比例尺长度单位
var strPairsDelimiter = "";                //坐标分隔符
var strCoordsDelimiter = "";               //坐标对分隔符
var dblMap2ScreenScale = 0;                //地图距离 vs 屏幕距离 的比例尺

var zoomFactor = 2;                        //缩放用的常量

var objSelectVMLRect;                      //选择框  用来进行矩形选择时创建的VML矩形
var objSelectVMLOval;                      //选择框  用来进行圆形选择时创建的VML圆形
var objSelectVMLPolyline;                  //选择框  用来进行圆形选择时创建的VML多边形
var strSelectPointUIDS = "";               //UID字符串  每次选择完以后选择框覆盖住的点地物的UID 

var objMapTagFindVMLOval;                  //标记点  GeoCode查询后用来标记查询到的地物的位置的黄色圆点
var objMapTagFindVMLShape;                 //标记框  GeoCode查询后用来标记查询到的地物的及提示信息的方框及文字

var objCoordinateFeaturesXML = null;       //用来保存初次获得的FeaturesXML,一旦初始就不再改变
var objSwapCoordinateFeaturesXML = null;

var strIDOFMEDICALINSTITUTION = "";        //当前被点击到的医疗机构

var objResponseCenterXML = null;            //获取区域中心点请求返回的字符串
var strResponseCenterAttName = "";


////////////////////////////////////////////////////////////////////////////////
function putParamXML(oParamXML){//基础配置信息的XML文件
    objParamXML = oParamXML;
    //开始解析XML,并将各个配置信息读入变量中保存
    strIMSURL = objParamXML.selectSingleNode("//imsURL").text;
}

function getParamXML(){
    return(objParamXML);
}

////////////////////////////////////////////////////////////////////////////////
function onMouseClick_ZoomIn(centerX,centerY){//以放大镜为中心(单击)放大

    var objPointClick;
    var mouseX,mouseY;
    var eLeft,eBottom,eRight,eTop;
    var xHalf,yHalf;
 
    //1.屏幕坐标转化为地图坐标
    objPointClick = getMapXY(centerX,centerY);        
    xHalf = objCurrentEnvelopeRect.width / 2;
    yHalf = objCurrentEnvelopeRect.height / 2;
    
    //2.终点坐标    
    objCurrentEnvelopeRect.minX = objPointClick.x - (xHalf/zoomFactor);
    objCurrentEnvelopeRect.maxX = objPointClick.x + (xHalf/zoomFactor);
    objCurrentEnvelopeRect.maxY = objPointClick.y + (yHalf/zoomFactor);
    objCurrentEnvelopeRect.minY =  objPointClick.y - (yHalf/zoomFactor);
    
    //3.删除 Group 节点
    if(objMapDiv.all.tags("group") && objMapDiv.all.tags("group").length){
        objGroupNode = objMapDiv.childNodes(0);
        objGroupNode = objMapDiv.removeChild(objGroupNode);
    }   

    //4.发送请求
    arcGetMap();
}

function onMapPicMouseClick_ZoomOut(centerX,centerY){   //以放大镜为中心(单击)缩小

    var objPointZoomOut;                                //单击的点对象
    
    //1.地理坐标转化成地图坐标
    objPointZoomOut = getMapXY(centerX,centerY);
    
    //2.缩小的绑定盒初始化
    objCurrentEnvelopeRect.minX = objPointZoomOut.x - (objCurrentEnvelopeRect.width * zoomFactor / 2);
    objCurrentEnvelopeRect.maxX = objPointZoomOut.x + (objCurrentEnvelopeRect.width * zoomFactor / 2);
    objCurrentEnvelopeRect.maxY = objPointZoomOut.y + (objCurrentEnvelopeRect.height * zoomFactor / 2);
    objCurrentEnvelopeRect.minY = objPointZoomOut.y - (objCurrentEnvelopeRect.height * zoomFactor / 2);
        
    //3.如果缩小时:已是全图(地图的实际尺寸)的处理
    /*  
    if (enforceFullExtent) {// 实际尺寸
        if ((objCurrentEnvelopeRect.width) > objStartEnvelopeRect.width) {
            objCurrentEnvelopeRect.minX = objStartEnvelopeRect.minX;
            objCurrentEnvelopeRect.maxX = objStartEnvelopeRect.maxX;
            objCurrentEnvelopeRect.maxY = objStartEnvelopeRect.maxY;
            objCurrentEnvelopeRect.minY = objStartEnvelopeRect.minY;
        }
    }
    */
    
    //4.删除 Group 结点
    if(objMapDiv.all.tags("group") && objMapDiv.all.tags("group").length){
        objGroupNode = objMapDiv.childNodes(0);
        objGroupNode = objMapDiv.removeChild(objGroupNode);
    }    
    
    //5.发送请求
    arcGetMap();
}

////////////////////////////////////////////////////////////////////////////////
/*
  函数名称:shadowNavigate(centerX,centerY)
  参数:    centerX:鹰眼图片容器的offsetX;centerY:鹰眼图片容器的offsetY
*/

function shadowNavigate(){//鹰眼漫游 Shadow

    var shadowWidth,shadowHeight,shadowXincre,shadowYincre;
    var shadowX,shadowY,shadowMapX,shadowMapY;
    var centerX,centerY;
    
    //1.鹰眼初使化完成
    if(!objShadowPicImg.src){
        return false;
    }
    
    //2.单击鼠标左键
    if(event.button != 1){ return false;}
    
    //3.单击鹰眼导航时的坐标
    centerX = event.offsetX;
    centerY = event.offsetY;
    
    //4.鹰眼导航栏的宽和高度
    shadowWidth = objShadowPicImg.style.pixelWidth;
    shadowHeight = objShadowPicImg.style.pixelHeight;
    
    //5.鹰眼导航栏的相对于地图的比例尺(x,y轴)
    shadowXincre = objShadowEnvelopeRect.width / shadowWidth;
    shadowYincre = objShadowEnvelopeRect.height / shadowHeight;
    
    //6.鹰眼导航栏的屏幕坐标
    shadowX = centerX;
    shadowY = shadowHeight - centerY;
    
    //7.鹰眼导航栏的地图坐标
    shadowMapX = shadowX * shadowXincre + objShadowEnvelopeRect.minX;
    shadowMapY = shadowY * shadowYincre + objShadowEnvelopeRect.minY;
    
    //8.改变 objCurrentEnvelopeRect 的参数值
    objCurrentEnvelopeRect.minX = shadowMapX + objCurrentEnvelopeRect.width / 2;
    objCurrentEnvelopeRect.maxX = shadowMapX - objCurrentEnvelopeRect.width / 2;
    objCurrentEnvelopeRect.maxY = shadowMapY + objCurrentEnvelopeRect.height / 2;
    objCurrentEnvelopeRect.minY = shadowMapY - objCurrentEnvelopeRect.height / 2;
    
    //9.在发送前去掉 <v:group> 节点
    if(objMapDiv.all.tags("group") && objMapDiv.all.tags("group").length){
        objGroupNode = objMapDiv.childNodes(0);
        objGroupNode = objMapDiv.removeChild(objGroupNode);
    }
    
    //10.发送请求
    arcGetMap();
    
    return true;
}

function changeShadowRectSize(argX,argY){//在鹰眼导航时焦点选择框的变化

    var ovXincre,ovYincre,shadowWidth,shadowHeight;
    
    var vleft,vwidth,vtop,vheight,vbottom,vright;      //鹰眼焦点选择框的两个顶点
    var ovExtentBoxSize = 2;
    
    var flMapViewWidth_Envelop;
    var flMapViewHeight_Envelop;
    var flMapViewLeft_Envelop;
    var flMapViewTop_Envelop;
    
    var flMapViewLeft_Envelop;
    var flMapViewTop_Envelop;
    var xTolerance,yTolerance,pixelX,pixelY;
    
    //1.鹰眼的宽度
    shadowWidth = objShadowPicImg.style.pixelWidth;
    shadowHeight =  objShadowPicImg.style.pixelHeight;
    
    //2.比例尺    
    ovXincre = objShadowEnvelopeRect.width / shadowWidth;
    ovYincre = objShadowEnvelopeRect.height / shadowHeight;

    pixelX = objCurrentEnvelopeRect.width/objMapPicImg.style.pixelWidth;
    pixelY = objCurrentEnvelopeRect.height/objMapPicImg.style.pixelHeight;
    xTolerance = objMapPicImg.style.pixelWidth/6 * pixelX;
    yTolerance = objMapPicImg.style.pixelHeight/6 * pixelY;
    
    vleft = (objCurrentEnvelopeRect.minX - objShadowEnvelopeRect.minX + xTolerance) / ovXincre;
    vright = (objCurrentEnvelopeRect.maxX - objShadowEnvelopeRect.minX - xTolerance) / ovXincre;
    vtop = (objShadowEnvelopeRect.maxY - objCurrentEnvelopeRect.maxY + yTolerance) / ovYincre;
    vbottom = (objShadowEnvelopeRect.maxY - objCurrentEnvelopeRect.minY - yTolerance) / ovYincre;
    
    vwidth = vright - vleft;
    vheight = vbottom - vtop;

    if(vleft + vwidth > shadowWidth && vleft > 0){//超出右边界
        vwidth = shadowWidth - vleft;
    }else if(vleft + vwidth > shadowWidth && vleft < 0){
        vwidth = shadowWidth;
    }
    

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -