📄 page.js
字号:
//==========================================================================
// SuperMap IS 客户端程序,版权所有,北京超图地理信息技术有限公司,2000-2006。
// 本程序只能在有效的授权许可下使用。未经许可,不得以任何手段擅自使用或传播。
// 作者: 李玮顾,胡中南
// 修改:
// 文件名: Page.js
// 功能: 自定义事件,与页面相关的一些函数
// 版本: 5.2.0.27731
// 最后修改时间: 2004-11-16
// client program of SuperMap IS .NET. CopyRight(C)2000-2006 SuperMap GIS Technologies, Inc.
// This program can only use when it is permitted by applicable law or authorized. Without permission , can't use or spread by means of any .
// Author: Li weigu , Hu zhongnan
// Modified by:
// File name: Page.js
// Function: Custom event, Some function correlating with page
// Version: 5.2.0.27731
// Last modified: 2004-11-16
//==========================================================================
var former_index = 0;
var MAX_Btn_Number = 33;
function GetBrowser(){
var ua=navigator.userAgent.toLowerCase();
if(ua.indexOf('opera')!=-1)return'opera';
else if(ua.indexOf('msie')!=-1)return'ie';
else if(ua.indexOf('safari')!=-1)return'safari';
else if(ua.indexOf('gecko')!=-1)return'gecko';
else return false;
}
// 切换按钮。 Switch button//
function SwitchBtn(index, action)
{
// when argument index is ignored
if(typeof(index) == "undefined" || typeof(index) == "string") {
action = index;
index = Eve(event).id.replace("img0","").replace("img","");
}
var prefix="btn";
var current = "";
var rest = "";
if (index==-1){ //reset all buttons to off status
for(var i=1; i<10; i++){
if(i!=index && getImg("img0"+i)){getImg("img0"+i).src="images/"+prefix+"_0"+i+"_off.gif";}
}
for(var i=10; i<=MAX_Btn_Number; i++){
if(i!=index && getImg("img"+i)){getImg("img"+i).src="images/"+prefix+"_"+i+"_off.gif";}
}
former_index = 0;
}
switch(action){
case "Over":
current = "on";
rest = "off";
SwitchBtn_ChangeImg(current,rest,prefix,index,former_index);
break;
case "Out":
current = "off";
rest = "off";
SwitchBtn_ChangeImg(current,rest,prefix,index,former_index);
break;
case "Down":
current = "down";
rest = "off";
// 判断鼠标操作类型。 Judge the type of the mouse operating
if(index==4 || index==5 || index==6 || index==10 || (index>=13 && index<=17) || index==22 || index==26 || (index>=28 && index<=32)){
for(var i=1; i<10; i++){
if(i!=index && getImg("img0"+i)){getImg("img0"+i).src="images/"+prefix+"_0"+i+"_off.gif";}
}
for(var i=10; i<=MAX_Btn_Number; i++){
if(i!=index && getImg("img"+i)){getImg("img"+i).src="images/"+prefix+"_"+i+"_off.gif";}
}
SwitchBtn_ChangeImg(current,rest,prefix,index,former_index);
former_index = index;
}
else
{
SwitchBtn_ChangeImg(current,rest,prefix,index,former_index);
//former_index = index;
}
break;
}
}
function SwitchBtn_ChangeImg(current,rest,prefix,index,former_index)
{
if(former_index != index){
if(getImg("img"+index)){
getImg("img"+index).src="images/"+prefix+"_"+index+"_"+current+".gif";
}
if(getImg("img0"+index)){
getImg("img0"+index).src="images/"+prefix+"_0"+index+"_"+current+".gif";
}
}
else{
if(current != "off"){
if(getImg("img"+index)){
getImg("img"+index).src="images/"+prefix+"_"+index+"_"+current+".gif";
}
if(getImg("img0"+index)){
getImg("img0"+index).src="images/"+prefix+"_0"+index+"_"+current+".gif";
}
}
else
{
if(getImg("img"+index)){
getImg("img"+index).src="images/"+prefix+"_"+index+"_"+"down"+".gif";
}
if(getImg("img0"+index)){
getImg("img0"+index).src="images/"+prefix+"_0"+index+"_"+"down"+".gif";
}
}
}
}
function getImg(img)
{
if (document.all){
return document.all(img);
}
else if (document.getElementById){
return document.getElementById(img);
}
}
function Eve(e)
{
var trigger='';
if(!e){e = window.event;}
if(e.srcElement) trigger= e.srcElement;
else if(typeof(e) != "undefined" && e.target) trigger= e.target;
if (trigger.nodeType && trigger.nodeType== 3) trigger= trigger.parentNode;
return trigger;
}
function SqlQuery()
{
var strSQL;
if(document.all){
strSQL = document.all.sql.value;
document.all.mapForm.QuerySQL(strSQL);
}
else if (document.getElementById){
strSQL = document.getElementById('sql').value
document.getElementById('mapForm').QuerySQL(strSQL);
}
}
function viewObj(obj)
{
var str;
var aWin = window.open("","","");
str = getAttributes(obj);
aWin.document.write(str);
aWin.document.close();
}
function getAttributes(o)
{
var s = "";
var i;
// undefined or null
if(typeof(o)=="undefined" || o==null)
return "<unknown>null</unknown>";
// array
if(typeof(o[0]) != "undefined"){
for(i = 0; i < o.length; i++)
s += "<item" + i + ">" + getAttributes(o[i]) + "</item" + i + ">";
return s;
}
if(typeof(o.xml) != "undefined")
return "<xml>" + o.xml + "</xml>";
// object(not array)
try{
if(typeof(o) != "object"){
s = "<" + typeof(o) + ">" + o + "</" + typeof(o) + ">";
}else{
var oo; // oo 是对象 o 的属性。 (oo is the attribute for o object.)
for(oo in o){
if(o[oo]==null){
s += "<" + oo + ">null</" + oo + ">";
continue;
}
// array
if(typeof(o[oo]) != "undefined" && typeof(o[oo][0]) != "undefined"){
var strTemp = "";
for(i = 0; i < o[oo].length; i++){
strTemp += "<item" + i + ">" + getAttributes(o[oo][i]) + "</item" + i + ">";
}
strTemp = "<" + oo + ">" + strTemp + "</" + oo + ">";
s += strTemp;
}
// not array
else if(typeof(o[oo])=="object"){
var str2;
str2 = getAttributes(o[oo]);
s += "<" + oo + ">" + str2 + "</" + oo + ">";
}else{
s += "<" + oo + ">" + o[oo] + "</" + oo + ">";
}
}
}
}catch(e){
s = "<error>" + e.name + ":" + e.message + "</error>";
}
return s;
}
// SQL查询 (SQL query)
var isQuerying = false; // 避免重复查询。 (Avoid repeating inquiry)
function QuerySQL(strSQL)
{
// 锁定 ( Lock )
if(isQuerying){
alert("Querying, please wait for a moment. ");
// alert("正在查询,请稍候。");
return;
}
isQuerying = true;
// 替换“<”和“>”符号 (replace the symbol '<' and '>')
var re;
re = /</g;
strSQL = strSQL.replace(re,"<");
re = />/g;
strSQL = strSQL.replace(re,">");
// window.status = strSQL;
mapAction.SetAction('SQLQUERY');
document.forms[0].SQLQUERY.value = strSQL;
OnSubmitToServer();
isQuerying = false;
}
function SwitchToolboxTab(boxIndex, tabIndex)
{
var COUNT = 4;
var tempObject;
for (var i=1; i<=COUNT; i++){
tempObject = document.getElementById("tbt_" + i);
if( typeof(tempObject) != "undefined" && tempObject != null){
tempObject.src = tempObject.src.replace("_on", "_off");
}
tempObject = document.getElementById("Toolbox_" + i);
if( typeof(tempObject) != "undefined" && tempObject != null){
tempObject.style.visibility = "hidden";
tempObject.style.display = "none";
}
}
// 可能只有 boxIndex 参数,而没有 tabIndex 参数。 //
if(tabIndex == null || typeof(tabIndex) == "undefined") {
tabIndex = boxIndex;
}
tempObject = document.getElementById("tbt_" + tabIndex);
if( typeof(tempObject) != "undefined" && tempObject != null){
tempObject.src = tempObject.src.replace("_off", "_on");
}
tempObject = document.getElementById("Toolbox_" + boxIndex);
if( typeof(tempObject) != "undefined" && tempObject != null){
tempObject.style.visibility = "visible";
tempObject.style.display = "block";
}
}
function SwitchEditDiv(divIndex)
{
var COUNT = 5;
var tempObject;
for (var i=1; i<=COUNT; i++){
tempObject = document.getElementById("Toolbox_4_" + i);
if( tempObject ){
tempObject.style.visibility = "hidden";
tempObject.style.display = "none";
}
}
tempObject = document.getElementById("Toolbox_4_" + divIndex);
if( tempObject ){
tempObject.style.visibility = "visible";
tempObject.style.display = "block";
}
}
//executed when body loaded
function Body_Load()
{
;
}
function SwitchListVisibility(evt,listId)
{
var list;
if(listId){
list = document.getElementById(listId);
if(!list){return;}
}
else{
list = this;
}
// list.onmousemove = function(){this.bStarted = true; this.onmouseout = HideList();};
// list.onmouseout = HideList();
var curPosition = SMISGetMouseAbsolutePosition(evt);
if(list.style.visibility =="hidden"){
with(list.style){
visibility = "visible";
display = "block";
position = "absolute";
left = (curPosition.x + 3)+"px";
top = (curPosition.y + 3)+"px";
zIndex = 1000;
}
}
else{
with(list.style){
visibility = "hidden";
display = "none";
}
list.bStarted = false;
}
}
function HideList(listId)
{
var browser=GetBrowser();
if(browser!="ie"){return;}
var list;
if(listId){
list = document.getElementById(listId);
if(!list){
return;
}
}
else{
list = event.srcElement;
}
/*
if(!list.bStarted)
{
return;
}
*/
if(list.style.visibility != "hidden"){
with(list.style){
visibility = "hidden";
display = "none";
}
list.bStarted = false;
}
}
//CustomAction
function MoveEntity(mapId, entityType)
{
if(!entityType){
entityType = document.getElementById("entityType").value;
}
var points = document.getElementById('pixs').value;
switch(entityType){
case "Point":
SMISCreatePoint(mapId, points);
break;
case "Line":
SMISCreateLine(mapId, points);
break;
case "Polygon":
SMISCreatePolygon(mapId, points);
break;
default:
break;
}
}
function OpenLegendWindow(legendControlId)
{
var legend = document.getElementById(legendControlId + "_LegendUrl");
if(!legend){return;}
var win = window.open("");
win.document.write("<img src='" + legend.value + "'>");
win.document.close();
win.focus();
}
function ShowBusSolutionSubmit(solutionId)
{
var inputShowBusSolution = document.getElementById("ShowBusSolution");
if(!inputShowBusSolution){
SMISCreateHiddenField(document.forms[0], "ShowBusSolution", "ShowBusSolution", "true");
}
else{
inputShowBusSolution.Value = "true";
}
var inputSolutionId = document.getElementById("SolutionId");
if(!inputSolutionId){
SMISCreateHiddenField(document.forms[0], "SolutionId", "SolutionId", solutionId);
}
else{
inputSolutionId.Value = solutionId;
}
__doPostBack("","");
}
function ShowBusStopSubmit(stopId, solutionId, locationX, locationY, stopName)
{
var inputShowBusStop = document.getElementById("ShowBusStop");
if(!inputShowBusStop){
SMISCreateHiddenField(document.forms[0], "ShowBusStop", "ShowBusStop", "true");
}
else{
inputShowBusStop.Value = "true";
}
var inputStopId = document.getElementById("StopId");
if(!inputStopId){
SMISCreateHiddenField(document.forms[0], "StopId", "StopId", stopId);
}
else{
inputStopId.Value = stopId;
}
var inputSolutionId = document.getElementById("SolutionId");
if(!inputSolutionId){
SMISCreateHiddenField(document.forms[0], "SolutionId", "SolutionId", solutionId);
}
else{
inputSolutionId.Value = solutionId;
}
SMISCreateHiddenField(document.forms[0], "LocationX", "LocationX", locationX);
SMISCreateHiddenField(document.forms[0], "locationY", "LocationY", locationY);
SMISCreateHiddenField(document.forms[0], "StopName", "StopName", stopName);
__doPostBack("","");
}
function ShowPropEditWindow()
{
var fieldNames = document.getElementById("EditFieldNames");
var fieldValues = document.getElementById("EditFieldValues");
if(!fieldNames || !fieldValues){return;}
fieldNames = fieldNames.value;
fieldValues = fieldValues.value;
var arrFieldNames = fieldNames.split(":");
var arrFieldValues = fieldValues.split(":");
var fieldLength = arrFieldNames.length;
var strTemp = "";
for(var i=0; i<fieldLength; i++){
if(arrFieldNames[i].length > 0){
strTemp += "<br>" + arrFieldNames[i] + ": <input type='text' id='Field" + i + "' value=" + arrFieldValues[i] + ">";
}
}
strTemp += "<script type='text/javascript' src='scripts/Page.js'></script>";
strTemp += "<br><input type='submit' onclick='SubmitEditProps(" + fieldLength + "); return false;'>";
var editWin = window.open("");
editWin.document.write(strTemp);
editWin.document.close();
editWin.focus();
}
function SubmitEditProps(fieldLength)
{
var map = window.opener.SMISGetMap('MapControl1');
var objEditPostBack = window.opener.document.getElementById('EditPostBack');
if(!objEditPostBack){return;}
var objFieldValues = window.opener.document.getElementById('EditFieldValues');
if(!objFieldValues){return;}
var strTemp = "";
var objTemp;
var maxLength = 12;
var shouldPrompt;
for(var i=0; i<fieldLength; i++){
objTemp = document.getElementById("Field" + i)
if(objTemp){
if( !shouldPrompt && objTemp.value.length > maxLength){
shouldPrompt = true;
}
strTemp += objTemp.value + ":";
}
}
if(shouldPrompt){
// var flag = confirm("您提交的字段值的长度可能过长,确定要提交吗?");
var flag = confirm("The length of the field's value which you submit may be too long, are you sure to submit it? ");
if(!flag) {return; }
}
objEditPostBack.value = "true";
objFieldValues.value = strTemp;
window.opener.focus();
window.close();
map.DoPostBack();
}
function SwitchVisible(elementID )
{
if(!elementID){return;}
var element = document.getElementById(elementID);
if(!element || !element.style){return;}
if(element.style.visibility == "hidden" || element.style.display == "none")
{
element.style.visibility = "";
element.style.display = "block";
}
else
{
element.style.visibility = "hidden";
element.style.display = "none";
}
}
function SwitchResultVisible(resultIndex, resultPrefix)
{
SwitchVisible(resultPrefix + resultIndex);
var element;
var index = -1;
while(true)
{
index++;
if(index == resultIndex) { continue;}
element = document.getElementById(resultPrefix + index);
if(!element || !element.style){break;} //beyond the end.
element.style.display = "none";
}
}
function SetFieldValue(id, value)
{
SMISCreateHiddenField("", id, id, value);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -