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

📄 activexdemo.htm

📁 delphi精品控件:dappermapDapperMap地图控件 1.05
💻 HTM
📖 第 1 页 / 共 2 页
字号:
  obj=new   ActiveXObject("DAPPERMAP.DapperMapCtrl.1");   
  }catch(e){   
  return   false;   
  }   
  if(obj!=null){   
  obj=null;   
  return   true;   
  }else   
  return   false;
}   

function TestDapperMap()
{
  if(!DapperMapRegistered())
  {
     document.body.innerHTML = "控件尚未安装请<a href='http://www.lingyusoft.cn'>下载控件</a>";
  }
  else
  {
  	DapperMap.InitMap();
  	AddLayer(1);
  }
}

////////////////////////
</script>

<script type="text/javascript" for="DapperMap" event="MouseDown(Button,Shift,x,y)">
	 var x1 = DapperMap.ClientToMapX(x,y);
	 var y1 = DapperMap.ClientToMapY(x,y);
	 var strData;
	 
	 //alert("AAAAAAAAAA");
	 if(nodestate == 1)
	 {
	 	 if(startnodeid != 0)
	 	 {
	 	 	DapperMap.DelGeoObj(startnodeid,0x100);
	 	 }
	 	 strData = x1 + "," + y1 + "\t" + "0\t" + "起点";
	 	 //alert(strData);
	 	 startnodeid = DapperMap.AddGeoObj(1,strData,0x100);
	 	 DapperMap.DrawActiveLayer();
	 }
	 else if(nodestate ==2)
	 {
 	 if(endnodeid != 0)
	 	 {
	 	 	DapperMap.DelGeoObj(endnodeid,0x100);
	 	 }	 	
	 	strData = x1 + "," + y1 + "\t" + "0\t" + "终点";
	 	//alert(strData);
	 	endnodeid = DapperMap.AddGeoObj(1,strData,0x100);
	 	DapperMap.DrawActiveLayer();
	 }
	 
	 
	 //拖动
	 if(mydragtest == 1)
	 {
	 	   begindragx = x;
	 	   begindragy = y;
	 	   
			 var x1 = DapperMap.ClientToMapX(x,y);
		   var y1 = DapperMap.ClientToMapY(x,y);
		   //探测//////////////////////////
		   RecorderCount = DapperMap.HitTest(x1,y1,0,"ALLLAYER");
		   //取得探测结果//////////////////
		   if(RecorderCount > 0)
		   {
		 	   NearObj = DapperMap.GetResult(0);//取距离最近的一个对象
		 	   //alert(NearObj);
		 	   NearInfo = NearObj.split("\t"); 
		 	   mydragobjtype = NearInfo[0];

		 	   mydraglayerid = parseInt(NearInfo[1],16);
		 	   mydragobjid = NearInfo[2];
		 	 }
		 	 else
		 	 {
		 	 	 mydraglayerid = null;
		 	 	 mydragobjid = null;
		 	 } 	
		 	 
		 	 DrawMap();
		 	 return;
	 }
	 
	 
	if(addstate == 1)//添加点
	{
	    strData = x1 + "," + y1 + "\t" + "0\t" + "测试点||<text>测试下看看1行</text><newline><text>测试下看看2行</text><newline>";
	   if(curpoint < 10)
		{
		   pointArray[curpoint]  = DapperMap.AddGeoObj(1,strData,0x100);
		   
		   //添加字体对象
		   //DapperMap.AddGeoObj(8,strData,0x1000);
		   
		   curpoint++;
		 }
		 
		//strData = x1 + "," + y1 + "\t200\t" + "0\t" + "范围";
	 	//DapperMap.AddGeoObj(6,strData,0x700);
		
		DapperMap.DrawActiveLayer();
	}
	else if(addstate == 2)//添加线
	{
		strPos = x1 + "," + y1;
		if(strPosList == "")
		{
			strPosList = strPos;
		}
		else
		{
			 strPosList += "," + strPos;
		}	
	}
	else if(addstate == 3)//添加面
	{
		strPos = x1 + "," + y1;
		if(strPosList == "")
		{
			strPosList = strPos;
		}
		else
		{
			 strPosList += "," + strPos;
		}			
	}
	else if(addstate == 4)//添加提示框
	{
		if(curtip < 10)
		{
	   tipArray[curtip] = DapperMap.AddTip();
	   DapperMap.SetTip(tipArray[curtip],x1,y1,"<text>这是一个tip</text><newline><text>可以进行换行</text><img>Small.bmp;1</img><text>也可以加小图片</text>");
	   DapperMap.DrawActiveLayer();
	   curtip++;
	  }
	}
	else if(addstate == 5)//添加动画
	{
	  if(curani < 10)
	  {
	      aniArray[curani] =  DapperMap.AddAnimation("Warning.gif");
	      DapperMap.SetAnimation(aniArray[curani],x1,y1,"");
		    curani++;
	  }
	}
	else if(addstate == 6)//透明位图
	{
	    strData = x1 + "," + y1 + "\t0\t0.5\t0.5\t35\ttest.bmp";
	   if(curpic < 10)
		{
		   picArray[curpic]  = DapperMap.AddGeoObj(5,strData,0x500);
		   curpic++;
		 }
		
		DapperMap.DrawActiveLayer();		
	}
	
</script>

<script type="text/javascript" for="DapperMap" event="MouseUp(Button,Shift,x,y)">
	if(mydragtest == 1)
	{
		mydraglayerid = null;
		mydragobjid = null;
	}
</script>

<script type="text/javascript" for="DapperMap" event="OnToolBarDown(nindex)">
	alert(nindex);
</script>


<script type="text/javascript" for="DapperMap" event="MouseMove(Button,Shift,x,y)">

 	var x1 = DapperMap.ClientToMapX(x,y);
	var y1 = DapperMap.ClientToMapY(x,y);	
	
	//window.status = x1 + "," + y1; 
	if(myhittest == 1)
	{
		 //探测//////////////////////////
		 RecorderCount = DapperMap.HitTest(x1,y1,50,"ALLLAYER");
		 //取得探测结果//////////////////
		 if(RecorderCount > 0)
		 {
		 	 NearObj = DapperMap.GetResult(0);//取距离最近的一个对象
		 	 NearInfo = NearObj.split("\t");
		 	 ObjInfo = DapperMap.GetGeoObj(NearInfo[0],NearInfo[2],2);
		 	 //window.status = "感知到附近的<<" + ObjInfo + ">>对象" 
		 }	
	} 	
	else if(myhittest == 2)
	{
		if(timeName == null)
		{
				if(layerid == 0)
		      AddLayer(1);
			 //探测//////////////////////////
			 RecorderCount = DapperMap.HitTest(x1,y1,1000,"ALLUSERPOILAYER");
			 //取得探测结果//////////////////
			 //把所有的点添加到一个层里面并把在原来层中的数据删除,然后
			 //启动定时器 不断隐藏显示该层
			 //window.status = "附近对象数:"+RecorderCount;
			 flashobjArray = new Array(RecorderCount);
			 for(i=0;i<RecorderCount;i++)
			 {
			 	 NearObj = DapperMap.GetResult(i);//取距离最近的一个对象
			 	 NearInfo = NearObj.split("\t");
			 	 ObjInfo = DapperMap.GetGeoObj(NearInfo[0],NearInfo[2],0);
			 	 flashobjArray[i] = ObjInfo;
			 	 DapperMap.AddGeoObj(1,ObjInfo,0x600);
			 	 DapperMap.DelGeoObj(NearInfo[2],parseInt(NearInfo[1],16));
			 }
			 if(RecorderCount>0)
			 {
			 	   //启动定时器
			 	   //window.status = "启动定时器";
			 	   timeName = setInterval(FlashPoint,500);
			 }
		}
		 			
	}
	
	if(addstate == 2)
	{
		if(tmplineid == 0)//添加一个
		{
			strData = strPosList + "," +  x1 + "," + y1 + "\t343\t一条测试线";
			tmplineid = DapperMap.AddGeoObj(7,strData,0x900);
		}
		else//更新坐标update
		{
			strData = strPosList + "," + x1 + "," + y1;
			DapperMap.UpdateGeoObj(0x900,tmplineid,strData,1);
		}
		DapperMap.DrawActiveLayer();
	}
	else if(addstate == 3)
	{
		if(tmppolygonid == 0)//添加一个
		{
			strData = strPosList + "," +  x1 + "," + y1 + "\t343\t测试面";
			tmppolygonid = DapperMap.AddGeoObj(3,strData,0x300);
			//alert(tmppolygonid);
		}
		else//更新坐标update
		{
			strData = strPosList + "," + x1 + "," + y1;
			window.status = strData ;
			DapperMap.UpdateGeoObj(0x300,tmppolygonid,strData,1);
			
			//DapperMap.Measure(2,strData);
		}
		DapperMap.DrawActiveLayer();		
	}

	
	
	if(mydragtest == 1)
	{
		var strData = "";
		if(mydraglayerid != null && mydragobjid != null)
		{
			  //先得到所有的点列,转换成客户区坐标,然后偏移deltaX  deltaY
			  var ObjInfo = DapperMap.GetGeoObj(mydragobjtype,mydragobjid,1);
			  //判断是点,线还是面
				deltax = x-begindragx;
				deltay = y-begindragy;
				begindragx = x;
			  begindragy = y;
													
				var posList = ObjInfo.split(",");
				strData = "";
				
				for(i=0;i<posList.length;i=i+2)
				{
					orgx1 = posList[i];
					orgy1 = posList[i+1];
					
					orgx1 = parseFloat(orgx1);
					orgy1 = parseFloat(orgy1);
					
					orgx = orgx1 + deltax*DapperMap.GetCurCalcScale();
					orgy = orgy1 - deltay*DapperMap.GetCurCalcScale();
														
					if(strData == "")
					{
					   strData += orgx + ",";
					   strData += orgy;
					}
					else
					{
						 strData += "," + orgx;
						 strData += "," + orgy;
					}
				}	
										
			//window.status = (posList.length + "," + mydraglayerid + "," + mydragobjid + "," + strData);
		  DapperMap.UpdateGeoObj(mydraglayerid,mydragobjid,strData,1);
		  DapperMap.DrawActiveLayer();	
		}
	}
	
</script>


<script type="text/javascript" for="DapperMap" event="DblClick()">
	if(addstate == 2)
	{
		DapperMap.DelGeoObj(tmplineid,0x900);
		strData = strPosList+"\t343\t一条测试线";
		
		if(curline < 10)
		{
			 lineArray[curline] = DapperMap.AddGeoObj(7,strData,0x900);
			 curline++;
		}
		
		strPosList = "";
		tmplineid = 0;
		DapperMap.DrawActiveLayer();
	}
	else if(addstate == 3)
	{
		DapperMap.DelGeoObj(tmppolygonid,0x300);
		strData = strPosList+"\t343\t一个测试面";
		
		if(curpolygon < 10)
		{
			 polygonArray[curpolygon] = DapperMap.AddGeoObj(3,strData,0x300);
			 //alert("添加永久面" + strData);
			 curpolygon++;
		}	
		
		strPosList = "";
		tmppolygonid = 0;
		
		DapperMap.DrawActiveLayer();		
	}
</script>


<script type="text/javascript" for="DapperMap" event="OnMeasureDistanceEnd(dDistance)">
	alert(dDistance);
</script>

<script type="text/javascript" for="DapperMap" event="OnMeasureAreaEnd(dArea)">
	alert(dArea);
</script>

<html>

<body onLoad="TestDapperMap()" scroll = "no">
   <table width="100%" height="80%" border="1">
     <tr>
       <td width="66%">
		   <object id=DapperMap
			  height="100%"
			  width="100%" 
			  border=0 
			  classid=clsid:6C357C48-2AA6-4511-9528-B0089ECF5365 name=DapperMap 
		       viewastext>
			 <param name="DataPath" value="c:\TestData">
			 <param name="bAutoUpdate" value='0'>			 
			 <param name="UpdatePath" value="localhost">
			 <param name="MapCenterX" value="116.39450">
			 <param name="MapCenterY" value="39.925944">
			 <param name="MapState" value="3">
			 <param name="MapScale" value="20">
			 <embed src="65536" width="82%" height="90%" datapath="localhost" name="DapperMap" mapcenterx="113.63801" mapcentery=               "34.75494" mapstate="3" mapscale="20"></embed>
		   </object>	   
	   </td>
       <td width="34%" valign="top">请输入关键字:
        <input type="text" name="textfield" id="KeyWord"  onKeyUp = "SearchKeyWord()"><br>
        <span id="result"></span></td>   
     </tr>
   </table>  
<input type="button" name="正常" value="正常" onClick="SetMapState(0)">
<input type="button" name="平移" value="平移" onClick="SetMapState(3)">
<input type="button" name="放大" value="放大" onClick="SetMapState(1)">
<input type="button" name="缩小" value="缩小" onClick="SetMapState(2)">
<input type="button" name="旋转" value="旋转" onClick="SetMapAngle(0)">
<input type="button" name="测距" value="测距" onClick="SetMapState(4)">
<input type="button" name="测面积" value="测面积" onClick="SetMapState(5)">
<input type="button" name="恢复旋转" value="恢复旋转" onClick="SetMapAngle(1)">
<input type="button" name="添加图层" value="添加图层" onClick="AddLayer(1)">
<input type="button" name="去除添加状态  id="去除添加状态" value="去除添加状态" onClick="SetAddState(0)">
<input type="button" name="添加点"  id="添加点" value="添加点(点击添加点后点击地图)" onClick="SetAddState(1)">
<input type="button" name="添加线" id="添加线" value="添加线(也可以透明)" onClick="SetAddState(2)">
<input name="添加面" type="button" id="添加面" value="添加面(也可不透明)" onClick="SetAddState(3)">
<input name="添加提示框" type="button" id="添加提示框"  value="添加提示框" onClick="SetAddState(4)">
<input type="button" name="添加动画GIF" value="添加动画GIF" onClick="SetAddState(5)">
<input name="添加透明图片" type="button" id="添加透明图片" value="添加透明图片" onClick="SetAddState(6)">
<input name="删除透明图片" type="button" id="删除透明图片" value="删除透明图片" onClick="DelPic()">
<input name="删除点" type="button" id="删除点" onClick="DelPoint()" value="删除点">
<input name="删除线" type="button" id="删除线" onClick="DelLine()" value="删除线">
<input name="删除面" type="button" id="删除面" onClick="DelPolygon()" value="删除面">
<input name="删除提示框" type="button" id="删除提示框" onClick="DelTip()" value="删除提示框">
<input name="删除动画GIF" type="button" id="删除动画GIF" onClick="DelAni()" value="删除动画GIF">
<input name="只显示银行" type="button" id="只显示银行" onClick="OnlyShowYinHang()" value="只显示银行">
<input name="感知对象" type="button" id="感知对象" onClick="SetHitTest(1)" value="感知鼠标附近对象(可设置感知图层范围)效果见状态栏">
<input name="取消感知" type="button" id="取消感知" onClick="SetHitTest(0)" value="取消感知">
<input name="鼠标附近兴趣点闪动" type="button" id="鼠标附近兴趣点闪动" onClick="SetHitTest(2)" value="鼠标附近兴趣点闪动">
<input name="停止闪动" type="button" id="停止闪动" onClick="SetHitTest(0)" value="停止闪动">
<input name="拖动对象" type="button" id="拖动添加对象" onClick="SetDragTest(1)" value="拖动添加对象">
<input name="取消拖动" type="button" id="取消拖动" onClick="SetDragTest(0)" value="取消拖动">
<input name="自定义光标" type="button" id="自定义光标" onClick="SetCustomCursor('lmove.cur')" value="自定义光标">
<input name="取消自定义光标" type="button" id="取消自定义光标" onClick="SetCustomCursor('')" value="取消自定义光标">
<input name="设置路径规划起点" type="button" id="设置路径规划起点" onClick="SetNavNode(1)" value="设置路径规划起点">
<input name="设置路径规划终点" type="button" id="设置路径规划终点" onClick="SetNavNode(2)" value="设置路径规划终点">
<input name="路径规划" type="button" id="路径规划" onClick="Nav()" value="路径规划">
<input name="取消路径规划" type="button" id="取消路径规划" onClick="SetNavNode(0)" value="取消路径规划">
<input name="旋转图片(添加图片以后)" type="button" id="旋转图片" onClick="setpicangle('55')" value="旋转图片">
城市切换
<select name="select" id="city_select" onChange="SetCenter()">
  <option value="116.394502,39.925944" selected>北京市</option>
  <option value="106.814330,39.6748638">乌海市</option>
</select>
<input name="轨迹回放" type="button" id="轨迹回放" onClick="showhistory()" value="轨迹回放">
<input name="保存图层" type="button" id="保存图层" onClick="SaveLayer()" value="保存图层">

</body>
</html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -