100楼#
发布于:2004-09-22 22:41
<P>呵呵,好长啊</P><img src="images/post/smile/dvbbs/em05.gif" />
|
|
101楼#
发布于:2004-09-22 17:08
<P>强烈支持楼上的。<img src="images/post/smile/dvbbs/em01.gif" /><img src="images/post/smile/dvbbs/em01.gif" /><img src="images/post/smile/dvbbs/em02.gif" /><img src="images/post/smile/dvbbs/em02.gif" /></P>
|
|
|
102楼#
发布于:2004-09-22 14:38
<P>//我也来贴段代码,不过还没有写完,具体含义就自己先研究一下,改日我再说说!</P><P>function GisMap()
{ var i ; this.control = drawonmap ; //控件名称 this.visible = true ; //是否显示 this.mapXMin = 0 ; //地图最小X this.mapYMin = 0 ; //地图最小Y this.mapXMax = 0 ; //地图最大X this.mapYMax = 0 ; //地图最大Y this.layers = new Layers() ; //图层集合对象 ///返回含屏幕坐标的point对象 this.fromMapPoint=function(mapX,mapY) { var point = new PointObject() ; point.x = getJX(mapX) ; point.y = getWY(mapY) ; return point ; }; ///返回含地图坐标的point对象 this.toMapPoint=function(screenX,screenY) { var point = new PointObject() ; point.x = getScrX(screenX) ; point.y = getScrY(screenY) ; return point ; }; //获得地图坐标 function getJX(scrX) { return (this.mapXMin+parseInt(scrX)/(document.body.clientWidth/(this.mapXMax - this.mapXMin))); } function getWY(scrY) { return (this.mapYMax-parseInt(scrY)/(document.body.clientHeight/(this.mapYMax-this.mapYMin))); } //获得屏幕坐标 function getScrX(mapX) { return (mapX - this.mapXMin) * document.body.clientWidth/(this.mapXMax-this.mapXMin) ; } function getScrY(mapY) { return (this.mapYMax - mapY) * document.body.clientHeight/(this.mapYMax-this.mapYMin) ; } ///画图 ///在不同环境下可更改此函数的实现 this.draw=function() { for (i=1;i<this.layers.count+1;i++) { this.drawLayer(this.layers.item(i)) ; //this.control.innerHTML = this.stringBuilder.toString() ; } }; ///绘制指定层 this.drawLayer=function(layerObject) { switch (layerObject.type) { case "tail" : drawTailLayer(layerObject) ; break; case "denamic" : drawDynamicLayer(this.control,layerObject) ; break; case "point" : drawPointLayer(this.control,layerObject) ; break; case "line" : break; case "polygon" : break; } }; //绘制监控层 function drawTailLayer(layerObject) { var sHTML ; var tailObject = eval("div_tail") ; var arr0 ; for (i=1;i<layerObject.count+1;i++) { sHTML = '<div id="' + layerObject.item(i).id + '" name="' + layerObject.item(i).name + '"' ; sHTML+= ' style="position:absolute;z-index:3;left:' + getScrX(layerObject.item(i).x) + ';top:' + getScrY(layerObject.item(i).y) + '">'; arr0 = layerObject.item(i).content.split(",") ; if (arr0.length>0) { sHTML+= '<table border=0 width=108 bgcolor=#1949A1 cellspacing=1 cellpadding=0 style="font-size:9pt">' ; sHTML+= '<tr><td>' ; sHTML+= '<table border=0 width="100%" cellspacing=0 cellpadding=0>' ; sHTML+= '<tr><td><img src="images/tail/tailtable_top.gif"></td></tr>' ; sHTML+= '<tr><td background="images/tail/tailtable_bg.gif">' ; sHTML+= '<table border=0 width="100%" cellspacing=0 cellpadding=3>' ; for (j=0;j<arr0.length;j++) { sHTML+= '<tr><td height="20" style="color:white;font-size:9pt">' + arr0[j] + '</td></tr>' ; } sHTML+= '</table>' ; sHTML+= '</td></tr></table>' ; sHTML+= '</td></tr></table>' ; } sHTML+= '</div>' ; tailObject.innerHTML+= sHTML ; } } //绘制点层 function drawPointLayer(parentObject,layerObject) { var i ; var oSB = new StringBuilder() ; if (layerObject.symbol!=null) { for (i=1;i<=layerObject.count;i++) { //oSB.append(setPointVML(layerObject.item(i),layerObject.symbol)) ; setPointVML(parentObject,layerObject.item(i),layerObject.symbol) ; } } else { for (i=1;i<=layerObject.count;i++) { //oSB.append(setPointVML (layerObject.item(i))) ; setPointVML (layerObject.item(i)) ; } } return oSB ; } //绘制线层 function drawLineLayer(layerObject) {</P><P> for (i=0;i<layerObject.count;i++) { if (layerObject.symbol!=null) { } else { } } } //绘制区层 function drawPolygonLayer(layerObject) { var sHTML ; for (i=0;i<layerObject.count;i++) { if (layerObject.symbol!=null) { } else { } } } //绘制动态图层 function drawDynamicLayer(layerObject) { var sHTML ; sHTML = "" ; for (i=0;i<layerObject.count;i++) { if (layerObject.item(i).type == "point") { } else if (layerObject.item(i).type == "line") { } else if (layerObject.item(i).type == "polygon") { } } } ///客户端绘图更新 ///在此处,更新的含义更多体现为更改各要素在屏幕的坐标,即left和top this.refresh=function() { var obj ; var i,j ; for (i=1;i<this.layers.count+1;i++) { switch (this.layers.item(i).type) { case "tail": for (j=1;j<this.layers.item(i).count+1;j++) { //alert(i + "," + j) ; obj = eval(this.layers.item(i).item(j).id) ; obj.style.left = getScrX(this.layers.item(i).item(j).x) ; //alert(i+";" + j + ":" + this.layers.item(i).item(j).x + "," + obj.style.left) ; obj.style.top = getScrY(this.layers.item(i).item(j).y) ; //alert(i+";" + j + ":" + this.layers.item(i).item(j).y + "," + obj.style.top) ; } break; case "point": for (j=1;i<this.layers.item(i).count+1;j++) { obj = eval(this.layers.item(i).item(j).id) ; obj.style.left = getScrX(this.layers.item(i).item(j).x) ; alert(obj.style.left) ; obj.style.top = getScrY(this.layers.item(i).item(j).y) ; } break; case "" : } } } //画点对象 function setPointVML(parentObject,pointObject,symbolObject) { var sHTML = "" ; switch (symbolObject.style) { //圆形 case 0 : sHTML+='<v:oval' ; if (pointObject.id!="") sHTML+= " id=\"" + pointObject.id + "\""; if (pointObject.name!="") sHTML+= " name=\"" + pointObject.name + "\""; sHTML+= ' style="position:relative;' ; if (symbolObject.size>0) { if (pointObject.y!="") sHTML+= 'top:' + (parseInt(pointObject.y)+symbolObject.size/2) + ';' ; if (pointObject.x!="") sHTML+= ' left:' + (parseInt(pointObject.x)+symbolObject.size/2) + ';' ; sHTML+= 'width:' + symbolObject.size + ';' ; sHTML+= 'height:' + symbolObject.size + ';' ; } if (symbolObject.color!="") sHTML+= ' fillcolor="' + symbolObject.color + '"'; if (symbolObject.border>0) { sHTML+= ' strokeWeight="' + symbolObject.border + '"' ; if (symbolObject.bordercolor>0) sHTML+= ' strokeColor="' + symbolObject.bordercolor + '"' ; } sHTML+="></v:oval>" ; break; //矩形 case 1 : sHTML+='<v:rect ' ; if (pointObject.id!="") sHTML+= " id=\"" + pointObject.id + "\""; if (pointObject.name!="") sHTML+= " id=\"" + pointObject.name + "\""; sHTML+= ' style="position:relative;' ; if (symbolObject.size>0) { if (pointObject.y!="") { sHTML+= 'top:' + String(parseInt(pointObject.y)+symbolObject.size/2) + ';' ; } if (pointObject.x!="") sHTML+= ' left:' + (parseInt(pointObject.x)+parseInt(symbolObject.size/2)) + ';' ; sHTML+= 'width:' + symbolObject.size + ';' ; sHTML+= 'height:' + symbolObject.size + ';' ; } if (pointObject.color!="") sHTML+= ' fillcolor="' + symbolObject.color + '"'; if (pointObject.border>0) { sHTML+= ' strokeWeight="' + symbolObject.border + '"' ; if (symbolObject.bordercolor>0) sHTML+= ' strokeColor="' + symbolObject.bordercolor + '"' ; } sHTML+="></v:rect>" ; break; //图片 case 10 : sHTML+='<v:image ' ; if (pointObject.id!="") sHTML+= " id=\"" + pointObject.id + "\"" ; if (pointObject.name!="") sHTML+= " id=\"" + pointObject.name + "\"" ; if (symbolObject.image!="") { sHTML+= ' src="' + symbolObject.image + '"' ; sHTML+=' style="top:' + pointObject.y + ';left:' + pointObject.x + '"' ; } sHTML+= "></v:image>" ; break; } var newPoint = document.createElement(sHTML) ; parentObject.insertBefore(newPoint) ; } }</P><P>///layers集合 function Layers() { var pri_LayerArray = new Array() ; this.count=pri_LayerArray.length ; this.item=function(index) { return pri_LayerArray[index-1] ; }; this.add=function(layer) { pri_LayerArray[pri_LayerArray.length] = layer ; this.count=pri_LayerArray.length ; }; this.remove=function(index) { var i ; for (i=index;i<pri_LayerArray.length;i++) { pri_LayerArray[index-1] = pri_LayerArray[index] ; } pri_LayerArray[pri_LayerArray.length-1] = null ; this.count=pri_LayerArray.length ; } }</P><P>///自我约束的layer模式,点线面图层需谨慎使用 ///使用错误则不能自我判别 function LayerObject(layerid,layername) { var pri_objArray =new Array(); this.id = layerid ; this.name = layername ; this.visible = true ; this.type = "dynamic" ; this.symbol = null ; this.count = pri_objArray.length ; this.add=function(object) { pri_objArray[pri_objArray.length] = object ; this.count = pri_objArray.length ; } ; this.item = function(index) { return pri_objArray[index-1] ; } this.remove=function(index) { for (i=index;i<this.count;i++) { pri_objArray[index-1] = pri_objArray[index] ; } pri_objArray[pri_objArray.length-1] = null ; this.count = pri_objArray.length ; } this.setSymbol=function(object) { if (this.type == "dynamic") { return null ; } else { this.symbol = object ; //symbol赋值 } } }</P><P>//PolyLine对象 function PolyLineObject() { var pri_PolyLine = null; var pri_Stroke = null ; this.parent = null ; this.id = "" ; this.Points = new Points() ; this.filled = "false" ; this.startArrow = "" ; this.endArrow = "" ; this.dashStyle = "" ; /* this.draw=function() { var sHTML ; if (this.Points.getLength()>0) { sHTML = '<v:polyline id="' + this.id + '" filled="' + this.filled + '" ' ; sHTML+= ' points="' ; for (i=0;i<this.Points.getLength();i++) { sHTML+= this.Points.item(i).X + "," + this.Points.item(i).Y + " " ; } sHTML+= '" '; sHTML+= ' style="position:absolute;z-index:2"/>' ; pri_PolyLine = document.createElement(sHTML) ; this.parent.appendChild(pri_PolyLine) ; //this.parent.insertBefore(p_PolyLine) ; sHTML = '<v:stroke StartArrow="' + this.startArrow + '" EndArrow="' + this.endArrow + '" DashStyle="' + this.dashStyle + '" />' ; pri_Stroke = document.createElement(sHTML) ; pri_PolyLine.insertBefore(pri_Stroke) ; } }; */ // this.refreshPolyLine=function() // { /* var sHTML = "" ; if (this.Points.getLength()>0) { for (i=0;i<this.Points.getLength();i++) { sHTML+= this.Points.item(i).X + "," + this.Points.item(i).Y + " " ; } } //alert(p_PolyLine.points) ; p_PolyLine.points = sHTML ; */ // this.parent.innerHTML = "" ; // this.draw() ; // }; /* this.refreshStroke =function() { stroke.startArrow = this.startArrow ; stroke.endArrow = this.endArrow ; stroke.dashStyle = this.dashStyle ; }; this.refresh=function() { this.refreshPolyLine() ; this.refreshStroke() ; }; this.clear=function() { this.parent = null ; this.id = "" ; this.Points = new Points() ; this.filled = "false" ; this.startArrow = "" ; this.endArrow = "" ; this.dashStyle = "" ; } this.dispose=function() { this = null ; } */ } //点集合 function Points() { var pri_Points = new Array() ; this.count = pri_Points.length ; this.item=function(index) { return p_Points[index-1] ; }; this.add=function(pointObject) { p_Points[p_Points.length] = pointObject ; this.count = getLength() ; }; this.remove=function(index) { var i ; for (i=index;i<this.count;i++) { pri_Points[index-1] = pri_Points[index] } pri_Points[pri_Points.length-1] = null ; this.count = getLength() ; } function getLength() { return p_Points.length ; } }</P><P>//线对象 function LineObject() { var line = null ; this.parent = null ; this.id = "" ; this.fromX = 0 ; this.fromY = 0 ; this.toX = 0 ; this.toY = 0 ; this.symbol = new LineSymbol() ; }</P><P>//点对象 function PointObject(id,name,code,x,y) { this.id = id ; this.name = name ; this.code = code ; this.x = x ; this.y = y ; this.symbol = null ; }</P><P>//监控对象 function TailObject() { this.id = "" ; this.id = "" ; this.x = "" ; this.y = "" ; this.content = "" ; }</P><P>///范围 function Envelope(xmin,ymin,xmax,ymax) { this.xMin = xmin ; this.yMin = ymin ; this.xMax = xmax ; this.yMax = ymax ; }</P><P>function PointSymbol() { this.style=0 ; this.size=10 ; this.border=0 ; this.color = "red" ; this.bordercolor="" ; this.transparency = 1 ; this.image="" ; //如果style=image,给这个属性赋值(相对路径) }</P><P>//字符串连接操作类,大量字符串累加的时候可提高效率 function StringBuilder(sString) {</P><P> this.length=0; this._current=0; this._parts=[]; this._string=null; if(sString!=null) this.append(sString); this.append=function(sString) { this.length+=(this._parts[this._current++]=String(sString)).length; this._string=null; return this; } this.appendSB = function(stringBuilder) { //for (i=0;i<stringBuilder.length;i++) //{ // this.append(String(stringBuilder._parts)) ; //} this.append(stringBuilder.toString()) ; return this ; } this.toString=function() { if(this._string!=null) return this._string; var s=this._parts.join(""); this._parts=[s]; this._current=1; return this._string=s; } } </P> |
|
103楼#
发布于:2004-09-22 10:07
<img src="images/post/smile/dvbbs/em02.gif" />人民感谢你们!!
|
|
104楼#
发布于:2004-09-19 10:15
<img src="images/post/smile/dvbbs/em02.gif" />
|
|
|
105楼#
发布于:2004-09-17 23:07
<P>to liu76xt 版主:</P><P> 是在ArcIMS安装的\ArcIMS\AppServer目录下的aimsadmpw文件。</P><P>另,详细的说应该是:</P><P>1、删除密码文件AimsAdmPw。</P><P>2、依次停止ArcIMSTasker、ArcIMSMonitor、ArcIMSApplication服务(在控制面板的服务中)。</P><P>3、依次启动ArcIMSApplication、ArcIMSMonitor、ArcIMSTasker服务(在控制面板的服务中)。</P><P>4、重新运行manager即可设置新的用户名和密码。</P>
|
|
106楼#
发布于:2004-09-17 14:00
不知道 aimsadmpw文件是在那个目录下呢?俺没有找到 ,请补充,谢谢。<img src="images/post/smile/dvbbs/em02.gif" /><img src="images/post/smile/dvbbs/em02.gif" /><img src="images/post/smile/dvbbs/em01.gif" /><img src="images/post/smile/dvbbs/em01.gif" />
|
|
|
107楼#
发布于:2004-09-16 21:01
<P>忘记ArcIMS的登陆密码,再次进入的方法:</P>
<P>1、删除密码文件AimsAdmPw。</P> <P>2、依次停止ArcIMSTasker、ArcIMSMonitor、ArcIMSApplication服务(在控制面板的服务中)。</P> <P>3、依次启动ArcIMSApplication、ArcIMSMonitor、ArcIMSTasker服务(在控制面板的服务中)。</P> <P>然后再次登陆manager,就会和刚安装时一样,要你输入新的用户名和密码了</P> <P>(呵呵,今天参加中科永生的培训刚学的)</P><img src="images/post/smile/dvbbs/em04.gif" /> [此贴子已经被作者于2004-9-17 23:16:55编辑过]
|
|
108楼#
发布于:2004-09-15 10:05
<P>强烈支持,好文章哪!!!!!!!</P>
|
|
109楼#
发布于:2004-09-13 22:02
哪里有ArcIMS下载呢?
|
|
|