ArcIMS学习之 定制HTML VIEWER笔记
2008-02-23 07:47:27来源:互联网 阅读 ()
一、HTML VIEWER简介:
1。默认的HTML VIEWER由一组HTML页和JS文件(JavaScript)组成,这些HTML页和JS文件由ArcIMS Designer定制生成。
2。对于HTML Viewer,我们所做的功能扩展可以包括:
* 改变框架布局
* 修改工具条
* 增加自己的功能
* 改变图形外观
* 插入自己的图标
3。ArcIMS Designer定制的网站默认在Web容器的home目录的\default-web-app\Website 目录下
二、HTML Viewer文件结构:
1。由一组HTML文件,一个参数文件ArcIMSparam.js及两个目录--JavaScript和images组成。
站点目录
|
| HTML Pages
| ArcIMSparam.js
|
|---- JavaScript目录//包含JavaScript函数库,定义了用户可操作的地图功能,包括了HTML Viewer的大部分操作 。
| //可以通过定制这些JavaScript程序为自己的工具按扭增加功能。如热连接等。
|---- images 目录 //包含用于页面上按钮,图标及标记的显示。当新建站点时,可以用自己的标志代替这些原有的影像
2。ArcIMSparam.js与HTML Pages
HTML Viewer的一个重要的参数文件是位于站点目录下的ArcIMSparam.js文件。这个文件包含了一组影响站点外观和工作方式的JavaScript变量。对HTML Viewer大部分的定制都可以通过改变这些变量 的值来完成。ArcIMSparam.js包含的主要变量可以用来
* 改变所用的地图服务和地图范围
* 设置图例的初始化显示
* 定义acetate层的指北针,版权文字
* 定义属性字段的显示
* 改变工具和工具条
HTML Viewer默认入口是Default.htm。它的处理了四个任务
1>创建页面标题,
2>确定所用的浏览器类型,
3>建立URL解析规则
4>生成用于定义页面布局框架的viewer.htm文件。
Viewer.htm定义了HTML Viewer的结构,而不是内容,他将浏览器划分为多个区域。每个区域通过HTML文件获得内容。其他的HTML文件则为框架添加内容。
一般关系如下:
先装入MapFrame.html于MapFrame中,再由MapFrame打开TocFrame其中装入toc.htm,所以在toc.htm用MapFrame的内容时,
var t;
if(opener){
t=opener.parent.MapFrame;
}else{
t=parent.MapFrame;
}
因为,MapFrame.html包含了aimsCustom.js、aimsXML.js、ArcIMSparam.js,因而将添加的函数放入aimsCustom.js(包括构造发送XML的函数和处理XML的函数useCustomFunction)后在各自框架中调用MapFrame中新加的函数!
以添加定位功能为例,一般是在aimsCustom.js中加入函数,如function addressLocation(x,y,name)其中先保存上一幅地图的范围,再调用sendMapXML()获得新地图发送request
saveLastExtent()
Arguments:
None
Returned Value:
None
Description:
Function that saves the last map extent.
Uses: eLeft, eRight, eTop, and eBottom.
Called by: displayAttributeData in aimsIDentify.js; fullExtent, startExtent, zoomToPoint,
zoomToEnvelope, zoomScale, zoomButton, and panButton in aimsMap.js;
ovMapClick, zoomin, zoomout, stopZoomBox, stopZoomOutBox, stopPan, and pan in
aimsNavigation.js; and showHighlight in aimsSelect.js.
Sets: lastLeft, lastRight, lastTop, and lastBottom.
File:
aimsMap.js
Syntax:
sendMapXML()
Arguments:
None
Returned Value:
None
Description:
Sends an ArcXML request to obtain a new map image to the MapServer.
会用到的变量为: debugOn and imsURL.
Calls: beforeMapRefresh and showRetrieveMap in aimsMap.js and writeXML and sendToServer in
aimsXML.js.
Called by: bufferIt in aimsBuffer.js; clickFunction in aimsClick.js; processStartExtent in
aimsCommon.js; parseGeocodeResults in aimsGeocode; displayAttributeData in
aimsIDentify.js; fullExtent, startExtent, zoomBack, zoomToPoint, zoomToEnvelope,
zoomScale, zoomButton, and panButton in aimsMap.js; ovMapClick, zoomin, zoomout,
stopZoomBox, stopZoomOutBox, stopPan, and pan in aimsNavigation.js; showHighlight
in aimsSelect.js; and process XML in aimsXML.js.
在aimsXML.js文件中的sendMapXML()函数内容为:
function sendMapXML() {
beforeMapRefresh();
showRetrieveMap();
var theText = writeXML();
if (debugOn==2) alert(msgList[12] theText);
sendToServer(imsURL,theText,1);
}
其中:writeXML()写出对新地图的request XML,要修改就对writeXML()进行修改
writeXML()
Arguments:
None
Returned Value:
String ArcXML request string to be sent to the ImageServer.
Description:
Writes an ArcXML request for a new map image. This is the default request sent for a main map display image.
用到的变量为: eLeft, eRight, eTop, eBottom, iHeight, iWidth, aimsLayersPresent, toggleVisible, layerCount,
aimsClassRenderPresent, mapBackColor, aimsLegendPresent, legendVisible, aimsBufferPresent,
showBuffer, aimsSelectPresent, showGeocode, geocodeX, geocodeY, geocodePointColor,
geocodePointSize, geocodeLabel, aimsClickPresent, clickCount, selectColor, clickType,
clickMarkerColor, clickMarkerType, clickMarkerSize, aimsCustomPresent, drawCopyright,
CopyrightCoords, CopyrightText, CopyrightStyle, CopyrightSize, CopyrightFont, CopyrightColor,
CopyrightBackground, CopyrightBGColor, CopyrightGlow, CopyrightGlowColor, drawNorthArrow,
NorthArrowType, NorthArrowSize, NorthArrowCoords, NorthArrowAngle, drawScaleBar,
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash