拉框放大按钮点击事件的问题

0 views
Skip to first unread message

outma...@gmail.com

unread,
Oct 30, 2006, 4:26:37 AM10/30/06
to 灵图地图接口讨论区
请问下拉框放大也就是 LTZoomInControl 控件有一个属性
btnClick() ,我不知道怎么用。
比如说我想LTZoomInControl 点击后他的文字发生改变:
var control = new LTZoomInControl();
if(control.btnClick()){control.setLabel("拉框缩小");}??
或者告诉我怎么重写他的btnClick事件行吗?
比如:
control.btnClick=function(){control.setLabel("拉框缩小");}?

chenchen

unread,
Oct 30, 2006, 8:12:57 PM10/30/06
to 灵图地图接口讨论区
btnClick()方法说明:模拟控件的按钮被点击,每运行一次该方法,相当于点击一次控件的按钮切换该控件的打开/关闭状态,该方法在使用setVisible(false)方法将控件按钮隐藏之后十分有用。
//以下是使用此方法的一个例子
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>JavaScript Maps API</title>
<script language="javascript"
src="http://api.51ditu.com/apis/mapapi?key=****"></script>
</head>
<body>
<table border="1" cellspacing="0" cellpadding="5">
<tr>
<td><div id="myMap" style="position:relative; width:400px;
height:300px;"></div></td>
<td><table border="1" cellspacing="2" cellpadding="0">
<tr>
<td align="center"><input type="button" value=" UP "
onClick="maps.mapMoveToUp( 2 );"></td>
</tr>
<tr>
<td align="center"><input type="button" value="LEFT"
onClick="maps.mapMoveToLeft( 2 );">
<input type="button" value="RIGHT" onClick="maps.mapMoveToRight( 2
);"></td>
</tr>
<tār>
<td align="center"><input type="button" value="DOWN"
onClick="maps.mapMoveToDown( 2 );"></td>
</tr>
<tr>
<td align="center"><input type="button" value=" + "
onClick="maps.zoomIn();"></td>
</tr>
<tr>
<td align="center"><input type="button" value=" 1 "
onClick="maps.zoomTo( 0 );"></td>
</tr>
<tr>
<td align="center"><input type="button" value=" 2 "
onClick="maps.zoomTo( 1 );"></td>
</tr>
<tr>
<td align="center"><input type="button" value=" 3 "
onClick="maps.zoomTo( 2 );"></td>
</tr>
<tr>
<td align="center"><input type="button" value=" 4 "
onClick="maps.zoomTo( 3 );"></td>
</tr>
<tr>
<td align="center"><input type="button" value=" 5 "
onClick="maps.zoomTo( 4 );"></td>
</tr>
<tr>
<td align="center"><input type="button" value=" - "
onClick="maps.zoomOut();"></td>
</tr>
<tr>
<td align="center"><input type="button" value=" 拉框放大 "
onClick="control.btnClick()"></td>
</tr>
<tr>
<td align="center"><input type="button" value=" 拉框查找 "
onClick="controla.btnClick()"></td>
</tr>
<tr>
<td align="center"><input type="button" value=" 打印 "
onClick="printWin()"></td>
</tr>
</table></td>
</tr>
</table>
<script language="javascript">
var maps = new LTMaps( "myMap" );
maps.cityNameAndZoom( "beijing" , 5 );

var control = new LTZoomInControl();
maps.addControl( control );
control.setVisible(0);
var controla = new LTZoomSearchControl();
maps.addControl( controla );
controla.setVisible(false);
function doit(){

var bounds = controla.getBoundsLatLng();
var xmax = bounds.getXmax();
var ymax = bounds.getYmax();
var xmin = bounds.getXmin();
var ymin = bounds.getYmin();
alert( "Max-X:"+xmax+"\nMax-Y:"+ymax+"\nMin-X:"+xmin+"\nMin-Y:"+ymin );

}

LTEvent.addListener( controla, "mouseup" , doit );

function printWin(){
if(window.confirm("确定要打印大地图?")){
var html = "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01
Transitional//EN\">\n";
html += (document.all)?"<html
xmlns:v=\"urn:schemeas-microsoft-com:vml\">":"<html>";
html += "\n<head>\n<meta http-equiv=\"Content-Type\"
content=\"text/html; charset=gb2312\">\n<title>Print Maps<\/title>\n";
html += "<style type=\"text\/css\">\nbody {margin: 0px;}\n";
html += (document.all)?"v\\:*{ Behavior:url(#default#VML);}":"";
html += "\n</style>\n";
html += "<\/head>\n";
html +=
"<body><center>\n"+maps.getMapContent(0)+"\n<\/center><\/body>\n<\/html>";
var win =
document.open("about:blank","win","menubar=1,width="+maps.container.offsetWidth+",height="+(maps.container.offsetHeight-20));
win.document.writeln(html);
win.document.close();
}
}

</script>
</body>
</html>

outma...@gmail.com

unread,
Oct 31, 2006, 3:11:57 AM10/31/06
to 灵图地图接口讨论区
非常感谢你的解答,但感觉还是不能达到我要的效果。。
如果LTZoomInControl象标记控件一样支持click事件就好了,
就可以这样用了
LTEvent.addListener( control, "click" , doit );

chenchen

unread,
Oct 31, 2006, 3:29:40 AM10/31/06
to 灵图地图接口讨论区
可以啊 有mouseup事件
LTEvent.addListener( control, "mouse" , doit );
详细说明请见在线帮助文档http://api.51ditu.com/docs/mapsapi/reference.html#LTZoomSearchControl

outma...@gmail.com

unread,
Oct 31, 2006, 4:04:33 AM10/31/06
to 灵图地图接口讨论区
我没看错吧??
文档写的也只有LTZoomSearchControl才有mouseup事件
LTZoomInControl什么事件也没有。。。
Reply all
Reply to author
Forward
0 new messages