ArcIMS学习.doc_第1页
ArcIMS学习.doc_第2页
ArcIMS学习.doc_第3页
ArcIMS学习.doc_第4页
ArcIMS学习.doc_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

ArcIMS学习之 HTML Viewer定制笔记 续一(1.概要&流程)1.当使用ArcIMS Designer创建一个Web Site后,就会自动生成此网站的HTML Viewer,ArcIMS Designer生成网站的地点就在Posr Installation定义的 Website directory问题是可不可以把 JSP应用服务器 和 ArcIMS Server 分别放在两台服务器上?2.选择HTML Viewer的理由是,用户不需要自己给地图添加数据,而且只使用并只使用一个Image Service。3.HTML Viewer文件组织: ArcIMSparam.js包含了一系列JavaScript变量定义网站的外观和行为,大量定制在这里进行;HTML网页流程: Default.htm - 为网站入口(检查browser版本,IE、NetScape 4.0以上)如不支持的浏览器,转入 CannotRun.htm,如支持转入 Run.htm - 定义了两个Frame: MapFrame (Authorize.htm) PostFrame (jsForm.htm) /本 Frame 的Size为零,隐含 定义两个Frame的同时,onload检查权限、发送请求 Request AXL Authorize.htm中的Response AXL的处理函数 在此定义的主要是授权用! processAuthorization()对于response如果没有错的话,就不管了,直接进入viewer.htm viewer.htm - 定义了程序主框架 jsForm.htm - 定义了Form name=theForm ,以type=post,发送用于请求的Request AXL INPUT NAME=ArcXMLRequest 放置Request AXL * jsForm.htm 文件包含有一个函数passXML(),在提交请求时为空,在Servlet响应返回后,由Servlet生成返回页插入PostFrame 文件包含的一个函数passXML()其有变量 var XMLResponse包含服务器响应的Response AXL;同时函数还调用MapFrame的processXML()处理 Response AXL。 function passXML() var XMLResponse=?xml version=1.0。; parent.MapFcessXML(XMLResponse); ArcIMS学习之 HTML Viewer定制笔记 续二(2.Servlet与请求响应过程)4. Servlet Connector的入口Servlet: com.esri.esrimap.Esrimap 参数ServiceName ArcIMS 服务名ClientVersion ArcIMS 版本号Form true请求来自HTML的FormEncode * 请求重定向 CustomService 参数原因: 影像虚拟服务(Image MapService) 不提供属性信息,几何信息,地理编码等的功能,所以请求被重定向到其它的虚拟服务。即: When sending a request other than GET_IMAGE to an image MapService,redirection is required; Redirection is achieved in action attribute of the PostForm:GET_FEATURES CustomService = QueryGET_GEOCODE CustomService = GeocodeGET_EXTRACT CustomService = ExtractHttp:/caesar1:8888/servlet/com.esri.esrimap.Esrimap?ServiceName=Beijing&CustomService=Query&ClientVersion=3.1&Form=true5.PostFormArcXMLRequest(required) ArcXML request being sent to the serverJavaScriptFunction(optional) 指定 jsForm.htm 中的处理response 函数名,默认为passXML()RedireURL(optional)BgColor(optional)FormCharset(optional)6.请求与响应的过程: 1Request - Servlet Connector -Application Server Servlet Connector对传来的Request进行解析,只传给Application Server : * ServiceName * ArcXMLRequest 其余参数由Servlet Connector保留对响应(Response)的格式设置 2对Servlet Connector的调用为: http:/hostName/servlet/com.esri.esrimap.Esrimap 3响应:Application Server将参数传递给 Spatial Server,Spatial Server将响应 (Response)返回给 Application Server,所有的 Response只有两种: * ArcXML 包含属性信息、图片的URL(HTML Viewer只能处理这一种) * Feature Stream 二进制压缩要素流 4the Servlet Connector Creates a new HTML page based on * Value of the input elements specified in the request * Default values of the input elements * The Response ArcXMLArcIMS学习之 HTML Viewer定制笔记 续三(3.请求&响应)请求一、最基本函数: sendToServer - htmlSendToServer 提交表单 PostForm(aimsXML.js) 参数: URLString XMLRequest Request ArcXML theType XMLMode的值,默认为1,GET_IMAGEsendToServer将 theType 赋给XMLMode,然后调用htmlSendToServer提交表单。二、GET_SERVICE_INFO 由 getStartExtent()构造,并调用sendToServer(imsURL,theString,3);(aimsCommon.js) 具体调用关系为: viewer.htm在所有Frame装完后,onload一个doIt()- checkParams - startMap -startUp -getStartExtent (startMap、startUp、getStartExtent都在aimsCommon.js)三、GET_IMAGE 首次的 GET_IMAGE 是在对GET_SERVICE_INFO的响应中调用的(case 3); sendMapXML() writeXML()构造得到 Map 图的 ArcXML响应一、处理响应最基本函数: aimsXML.js中的: processXML(XMLResponse)根据 XMLMode 处理相关 Response function processXML(theReplyIn) . switch(XMLMode) case 1: /得到地图GET_IMAGE . default: /XMLMode = 1000交给用户定制处理 if (XMLMode = 1000) useCustomFunction(theReply); else alert(theReply + msgList19); 二、case 3: GET_SERVICE_INFO保存查到的地图最大值,调用 ProcessStartExtent(theReply) (aimsCommon.js) -sendMapXML() writeXML(); sendToServer(,1); 三、用户定制:processXML 中当 XMLMode大于1000时,为用户定制处理: default:/XMLMode = 1000交给用户定制处理 / send any responses to custom requests off to the custom handler / XMLMode = 1000 are reserved for custom requests/responses if (XMLMode = 1000) useCustomFunction(theReply); useCustomFunction(theReply)在aimsCustom.js中 接收的Servlet为com.esri.esrimap.Esrimap ArcIMS学习之 HTML Viewer定制笔记 续四(4.动态效果DHTML)一、CSS基础:Html:Javascript: document.getElementById(xxx).style.visibility=hidden;参数说明: 将其包括的其他HTML元素或文本应用到指定的样式规则(CSS)中,也称“容器”。 background-color 背景色,Javascript为:xxx.style.backgroundColor clip 剪切指定部分来显示;其语法为: .style.clip=rect(top,right,bottom,left); 注意此参数的顺序不寻常; 例:style.clip=rect(20 400 500 30); left、top 与容器的相对位置 position 指定位置规则如何使用,多个元素设绝对位置(absolute)可实现重叠 visibility CSS图层是否可见,有二值:visible 和 hidden z-index 指定元素重叠顺序,0位最底层,大于0的整数为上层,默认都为0层二、ArcIMS使用(aimsDHTML.js) 1.创建CSS层: function createLayer(name, inleft, intop, width, height, visible, content) var layer; if (isNav4) document.writeln(); document.writeln(content); document.writeln(); else document.writeln(); document.writeln(content); document.writeln(); 只要将要放入层内的内容写好调用createLayer即可; 2.显示、隐藏层 2.1辅助函数: 得到层: function getLayer(name) if (isNav4) return(document.layersname); else if (isIE4) layer = eval(document.all. + name + .style); return(layer); else if (is5up) var theObj = document.getElementById(name); return theObj.style else return(null); 2.2显示、隐藏层 function showLayer(name) getLayer(name).visibility=visible; function hideLayer(name) getLayer(name).visibility=hidden; 先将MapFrame中所有图片都创建为层,这样可实现显示和隐藏功能。ArcIMS学习之 HTML Viewer定制笔记 续五(5.Javascript纪要)1.另一个Frame中的JavaScript变量: var 可在其他框架中使用: Frame名.变量名 来调用2.中 - Table Row - Table Data3.元素 4.DOM 模型 + forms | images + frames - document -| anchors | document | . | navigator + applets window -| history | status 属性 + location5.事件 1 onClick ,onLoad 等不是 事件处理函数(event handler)而是 事件 (event); 2 对照表 -+- Object | Event -+- window,FrameSet | onLoad Frame | onUnload -+- Button,IMG,Frame | onClick | onMouseDown | onMouseUp | onMouseMove -+- 3事件处理函数 function startUp() document.onmousedown = maptool;/maptool是函数名 function maptool() . 4 event.clientX event.clientY 鼠标坐标,相对于包容窗口左上角 event.offsetX event.offsetY 鼠标坐标,相对于源元素位置 5onUnload事件含义: Browser已经离开使用框架、document网页

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论