﻿// JScript 文件
var map=null;
var panAction = null;//定义平移
var zoomInAction = null;//定义拉框放大
var zoomOutAction = null;//定义拉框缩小
var mapLevelCount=null; //得到地图的总层数
var MapMouseDown=false;//在地图上按下鼠标
var MapMouseDownAndMove=false;//在地图上按下鼠标并移动
var pointQueryAction=null;//点选
var MapMouseDown=false;//在地图上按下鼠标
var MapMouseDownAndMove=false;//在地图上按下鼠标并移动
var pointQueryAction=null;//点选
var zoomFalse=true;
var datatable=new Array();
var mapX;
var mapY;
var mapServer=getmapServer()
var mapCityName=getmapCityName();
var cityCenterX=getcityCenterX();
var cityCenterY=getcityCenterY();
var mapCityScales=getmapCityScales();

function OnPageLoad()
{
    var params = new Object();   
    params.mapHandler=mapServer;
    params.mapName = mapCityName;    
    params.mapScales =mapCityScales;
    params.zoomLevel =5;
    mapLevelCount=13;
    params.x = cityCenterX;
	params.y = cityCenterY;
	params.imageFormat = getimageFormat(); 
	mapX=params.x;
    mapY=params.y;
	params.buffer = 256; // 预先进行下载的视图范围
	params.fixedView = false;	
	map = new SuperMap.IS.MapControl($("Map"), params);	
	map.Init();
	Addpoint();	
}

function OnPageUnload(){
    try{
	if(map)
	{
	    map.Destroy();	
	    map = null;	
    }
   }catch(e)
   {}

}
/********************************************************************************************************

                                下面是操作地图的方法

*********************************************************************************************************/
 //拉框放大
 function SetZoomInAction() {
 	if (!zoomInAction){  zoomInAction = new SuperMap.IS.ZoomInAction();	}map.SetAction(zoomInAction);
 	//document.getElementById("Map").style.
 	}
 	//拉框缩小
 	function SetZoomOutAction() {	if (!zoomOutAction) {zoomOutAction = new SuperMap.IS.ZoomOutAction();}map.SetAction(zoomOutAction);}/*拉框缩小事件*/
 	//测距
 	function SetMeasureDistanceAction() 
 	{

    setMapMouseDownAndMove(false); 
    var measureDistanceAction=null;
	if(!measureDistanceAction){
	    measureDistanceAction = new SuperMap.IS.MeasureDistanceAction(onMeasureDistanceComplete,onMeasureDistanceError);
	}
	map.SetAction(measureDistanceAction);
}

function setMapMouseDownAndMove(n)
    {
        zoomFalse=n;
    }
function onMeasureDistanceComplete(re)
{
    
    var result=re.distance;
    if(parseInt(result)>1000)
    {
        result="测量结果为："+parseInt(result)/1000.0+"公里";
    }else
    {
        result ="测量结果为："+(result+"").substring(0,(result+"").lastIndexOf('.')+2)+"米";
    }
    var str ="<span style=\"background-color:#cccccc;width:100%;z-index:1;height:17;color:black;cursor:move;\" id=\"MeasureResult_head\">§量算结果</span><span style=\"position: absolute;right:0;background-color:#cccccc;cursor:hand;color:black\" onclick='document.getElementById(\"MeasureResult\").style.display=\"none\";map.CustomLayer.RemoveLine(\"MeasureDistance\");'>关闭</span>"
    str +="<span style=\"text-align:center;position: absolute;top:20;left:0;z-index:9999\"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"+result+"<br><br><span  style=\"cursor:hand\" onclick='map.CustomLayer.RemoveLine(\"MeasureDistance\")'>清除测量结果</span><br></span>"
    var div=document.getElementById("MeasureResult");
    if(div)
    {
        document.getElementById("MeasureResult").innerHTML=str;
        document.getElementById("MeasureResult").style.display='';
    }else
    {
        new createDiv("MeasureResult",560,480,200,100,str,"#FBF3E6","#000000","#aaaaaa",1,"0.9",1)
    }
//    var dd = new YAHOO.util.DD("MeasureResult");
//	dd.setHandleElId("MeasureResult_head");
}
function onMeasureDistanceError(responseText) {
	
}

//移动地图
function SetPanAction() {//平移事件
	if (!panAction) {
		
		setMapMouseDownAndMove(false);
		panAction = new SuperMap.IS.PanAction();
	}
		
	map.SetAction(panAction);
	   setMapMouseDownAndMove(true);
}
function setMapMouseDownAndMove(n)
    {
        zoomFalse=n;
    }
    //清除地图
    function ClearHighLight(){
	map.CustomLayer.ClearMarks();
	map.CustomLayer.ClearLines();
	map.CustomLayer.ClearPolygons();
}
    

//全图
function ViewEntire() {
    map.SetCenterAndZoom(mapX,mapY,1);
}

//function Addpointss()
//{

//map.CustomLayer.AddMark("ico",104.097285429958, 30.6585085640145, 16,32, "<table><tr><td align=\"center\"><img src=\'images/point.gif\'></td></tr><tr><td align=\"center\"><font size=\"0.2px\" color=\"#0057AE\"><b>明月路营业厅</b></font></td></tr></table>", "",0)
//map.CustomLayer.AddMark("ico",104.089199786424, 30.6637726853363, 16,32, "<table><tr><td align=\"center\"><img src=\'images/point.gif\'></td></tr><tr><td align=\"center\"><font size=\"0.2px\" color=\"#0057AE\"><b>明月路营业厅2</b></font></td></tr></table>", "",0)
//map.CustomLayer.AddMark("ico",104.085556194958, 30.6857747640253, 16,32, "<table><tr><td align=\"center\"><img src=\'images/point.gif\'></td></tr><tr><td align=\"center\"><font size=\"0.2px\" color=\"#0057AE\"><b>明月路营业厅3</b></font></td></tr></table>", "",0)
//}

////////////////////////////////////////////////////////////////////////////

//////////////////////////////////企业定位//////////////////////////////////
function moveto(x,y,name)
{
   // map.PanToMapCoord(x,y);
   //map.CustomLayer.ClearMarks();
    y=parseFloat(y)-0.0011;
    if(map==null)
    {
    alert(map);
    OnPageLoad();
    }   
    map.PanToMapCoord(x,y);
    
       var str="<table cellpadding=\"0\" cellspacing=\"0\" width='27' height='27' background='../images/point1.gif' title='"+name+"' style='cursor:hand;' onmouseover=\"this.parentNode.style.zIndex=13;\" onmouseout=\"this.parentNode.style.zIndex=10;\" ><tr><td align='center'>";
        str +="<font color='red'><b>★</b></font></td></tr></table>";
   
		map.CustomLayer.InsertMark("point1", x, y, 30, 40, str,"",10);

}
////////////////////////////////////////////////////////////////////////////
//////////////////////搜索出的企业在地图上加标记////////////////////////////



function Addpoint()
{ 
          if(datatable=="")
     {
        
     return ;
     }

       map.CustomLayer.RemoveMark("point1");
      for(var i=0;i<datatable.length;i++)
        {
            var str="<table cellpadding=\"0\" cellspacing=\"0\" width='27' height='27' background='../images/point.gif' title='"+datatable[i].name+"' style='cursor:hand;' onmouseover=\"this.parentNode.style.zIndex=12;\" onmouseout=\"this.parentNode.style.zIndex=10;\" ><tr><td align='center'>";
            str +="<font color='red'><b>"+(i+1)+"</b></font></td></tr></table>";       
            map.CustomLayer.AddMark("ico", datatable[i].x, parseFloat(datatable[i].y)-0.0011, 30, 40,str, "",10);
      
        }
   var points=new Array();   
   for(var i=0;i<datatable.length;i++)
   {     
        var point=new Object();
        point.x=parseFloat(datatable[i].x);
        point.y=parseFloat(datatable[i].y);
        points.push(point);
   }
   
    map.ViewByPoints(points);
    if(datatable.length==1){map.SetZoomLevel(10);}
    while(points.length>0){
	    points.pop();
    }
    points=null;
  
     
}
function SetDataTable(dv)
{
     
     datatable=dv;  

}

function ClearPointOfSearhCom()
{
    while($("ico"))
    {
        map.CustomLayer.RemoveMark("ico");
    }
}

//点击周边查询时显示的提示框
function nearSearchByPoint(com_name,sx,sy)  
{

    var name=com_name;    
    var X=sx;
    var Y=sy;    
    
     var str ="<span style=\"background-color:#cccccc;width:100%;z-index:1;height:17;color:black;cursor:move;\" id=\"MeasureResult_head\">§周边查询</span><span style=\"position: absolute;right:0;background-color:#cccccc;cursor:hand;color:black\" onclick='document.getElementById(\"nearSearchByPointDiv\").style.display=\"none\";'>关闭</span>"
    var str1="&nbsp;&nbsp;<input type='text' value='"+name+"' style=\"width: 100px\">&nbsp;&nbsp;<select id=\"Near1\" class=\"texform\" style=\"width: 54px\">";
    str1 +="<option value=\"1\">100米</option><option value=\"2\">200米</option><option value=\"3\">300米</option><option value=\"5\">500米</option>";
    str1 += "<option value=\"8\">800米</option><option value=\"10\">1000米</option><option value=\"20\">2000米</option></select>";
    str1 +="&nbsp;&nbsp;<input id=NearSearchName3 type='text' style=\"width: 100px\">";
    str +="<span style=\"text-align:center;position: absolute;top:20;left:0;z-index:9999\"><br>"+str1+"<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<img id=\"btnNearSearch1\" src=\"../images/l7.gif\" width=\"33\" height=\"24\"  style=\"cursor: hand\" onclick=\"JumpTo("+X+","+Y+",'"+name+"')\"/><br></span>"
 
    var div=document.getElementById("nearSearchByPointDiv");
    if(div)
    {
        document.getElementById("nearSearchByPointDiv").innerHTML=str;
        document.getElementById("nearSearchByPointDiv").style.display='';
    }else
    {   
    
            //参数：id 层唯一的标识； left 与父容器左边距 ；top 与父容器上边距；width 层的宽度；height 层的高度；content 内容
//      bgcolor 背景颜色；fontcolor； 字体的颜色 bordercolor； 边框颜色；opacity 透明度；zIndex Z轴
        new createDiv("nearSearchByPointDiv",50,250,300,100,str,"#FBF3E6","#000000","#aaaaaa",1,"0.9",1)
    }
    
}

//周边查询跳转

function JumpTo(X,Y,Name) 
{


var Value=document.getElementById("NearSearchName3").value;
    if(!Value){alert("请输入的值不正确！");document.getElementById("NearSearchName3").focus(); return;}

     var   Near =document.getElementById("Near1").value;

   
    document.getElementById("nearSearchByPointDiv").style.display='none';
    //window.document.form1.removeChild("nearSearchByPointDiv");
    window.open("../map.aspx?op=nearSearchByPoint&X="+X+"&Y="+Y+"&Near="+Near+"&name="+escape(Name)+"&value="+escape(Value),'map','','_blank');
        
}
