📄 activexdemo.htm
字号:
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 + -