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

📄 page.js

📁 使用ASP.NET 2.0 (c#) 实现的gis 的地图系统
💻 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,"&lt;");
	re = />/g;
	strSQL = strSQL.replace(re,"&gt;");
//	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 + -