用鼠标点击地图完成标注实例

0 views
Skip to first unread message

chenchen

unread,
Oct 10, 2006, 5:56:59 AM10/10/06
to 灵图地图接口讨论区
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>北京地图</title>
<script language="javascript" src=" http://api.51ditu.com/js/maps.js
"></script>
<SCRIPT language="javascript">

</SCRIPT>

</head>

<body>

<div id="myMap" style="position:relative; width:400px;
height:350px;"></div>
<FORM name=mapcoor>
象素坐标值<INPUT type=text name=mapcoorx>
<INPUT type=text name=mapcoory>
<INPUT type=button value="添加标记"
onclick="begin()"><br>
地理坐标值 <INPUT type=text name=mapcoorx1>
<INPUT type=text name=mapcoory1><br>

</FORM>
<script language="javascript">

var maps = new LTMaps( "myMap" );//创建地图
maps.cityNameAndZoom( "beijing" , 5 );//指定地图城市,图层

var moveControl = new LTStandMapControl();//创建移动控件
maps.addControl( moveControl );//将移动控件添加到地图

maps.handleKeyboard(); //键盘操作支持
maps.handleMouseScroll();//鼠标滚轮支持

function begin(){
var outerDiv = document.getElementById("myMap");
outerDiv.onclick = addpicture;
}
function end(){

}

function addpicture(event) {
// necessary for IE
if (!event) event = window.event;

show();
var outerDiv = document.getElementById("myMap");

outerDiv.onclick = end;
return false;
}
function show() {


if(window.confirm("您要在这里添加一个标记吗?"))
{

var x=window.event.clientX;//鼠标X坐标
var y=window.event.clientY; //鼠标Y坐标
document.mapcoor.mapcoorx.value=x;
document.mapcoor.mapcoory.value=y;
var visiblePictureArray = [];//数组
visiblePictureArray[0] = [x,y];
alert("标记增加完成1");
var innerDiv = document.getElementById("myMap");
alert("标记增加完成2");
//var lmap=LTMaps(innerDiv);//得到LTMAPS对象
var
lpot=maps.getPointLatLng(visiblePictureArray[0])//得到LTPOINT对象

X_text = lpot.getLatitude();
Y_text = lpot.getLongitude();
document.mapcoor.mapcoorx1.value=X_text;
document.mapcoor.mapcoory1.value=Y_text;

var marker = new LTMarker( lpot);//产生标记
maps.addOverLay( marker );


alert("标记增加完成");
}
else
{
var outerDiv = document.getElementById("myMap");
outerDiv.onclick = end;
}
}
</script>
</body>
</html>

大家可以练习使用
getPointLatLng(position)
说 明:相对于地图左上角的像素坐标数组[left,top]
类 型:像素值数组
备注:
将地图上相对于container的像素坐标转化为地理坐标,参数是数组[left,top],返回值类型是LTPoint

Reply all
Reply to author
Forward
0 new messages