51地图 API 应用例子

<script type="text/javascript">
	var ico=new LTIcon("<c:url value='/images/manPosition.gif'/>",[24,24],[12,12]);
	var map;//地图对象
	var i=-1;	//判断序号
	var pointsR=new Array();	//存放点
	var title=new Array();	//存放描述
	var markers=[];	//存放标记
	var controlB;		//标记控件
	var positionIds=[]; //存放返回的Id
	
	$(document).ready(function (){
		map=new LTMaps("map");
		//鼠标滚轮
		map.handleMouseScroll();
		//缩放控件
		var controlZoom = new LTStandMapControl();
		map.addControl( controlZoom ); //把控件加入到地图对象
		//添加标注控件并把事件绑定到按钮
		controlB = new LTMarkControl(ico);
		controlB.setVisible(false);
		document.getElementById("add").οnclick=function (){controlB.btnClick()};
		map.addControl( controlB );
		LTEvent.addListener( controlB , "mouseup" , getPoi );
//如果有我的地点初始值,则load否则以天津为初始
		<c:if test="${noPosition=='false'}">
			load();
		</c:if>
		<c:if test="${noPosition!='false'}">
			//天津
			map.centerAndZoom("tianjin",5);
		</c:if>
	});

//添加标注时执行此函数
		function getPoi(){
			$("#divDialog").html("请输入地名:<input id='positionId' type='text' maxlength='300' style='width:360px;'>");
        	 $("#divDialog").btnPrompt({title:"",callback: function(){addPositionDo();$("#divDialog").close()}});
		}
	function addPositionDo(){
			var description = $("#positionId").val();
			if(description==''){
				alert("地名不能为空");
				return false;
			}else{
				var poi = controlB.getMarkControlPoint();
				$.post("<c:url value='/user/user/personal.ao?method=updatePosition' />",
				{ x: poi.getLongitude(), y: poi.getLatitude(),title:description },
				 function(json){
				  positionIds[++i]=json["positionId"];
				  pointsR[i]=(new LTPoint(poi.getLongitude(),poi.getLatitude()));
				title[i]=description;
				markers[i] = new LTMarker(new LTPoint(poi.getLongitude(),poi.getLatitude()),ico);
				map.addOverLay(markers[i]);
				//消除api标注
				controlB.btnClick();  
				controlB.btnClick();
				show();
				//给标记添加点击事件
				LTEvent.addListener( markers[i] , "mouseover" , function(){
					this.openInfoWinHtml(title[$.inArray(this,markers)])
				});
				}); 
			return true;
			}
	}
 	//在层里显示结果
	function show(){
		var result="<ul>";
		for(var i=0;i<pointsR.length;i++)
		{
			result+= "<li value='"+i+
			"' οnmοuseοver='showMess(this)'><a class='link_blue' href='javascript:void(0)' >"+
			title[i]+"</a>";
			result+="<span οnclick='del(\""+i+"\");return false;'>删除</span></li>";
		}
		result+="</ul>"
		document.getElementById("result").innerHTML=result;
	}
	
	//删除标记
	function del(index){
		if(confirm("是否要删除?"))  
		{
		$.post("<c:url value='/user/user/personal.ao?method=deletePosition&' />",
				{ id:positionIds[index] },
				 function(json){
			map.removeOverLay( markers[index],true);
			pointsR.splice(index,1);
			title.splice(index,1);
			markers.splice(index,1);
			i--;
			show();});
		}
	}
	
	function load(){
	var jsons=eval('${userForm.positionList}');
		for(var j=0;j<jsons.length;j++){
		var json=jsons[j];
			positionIds[++i]=json["id"];
			pointsR[i]=new LTPoint(json["x"],json["y"]);
			title[i]=json["description"];
			markers[i] = new LTMarker(new LTPoint(json["x"],json["y"]),ico);
			map.addOverLay(markers[i]);
			show();
			//消除api标注
			//controlB.btnClick();  
			//controlB.btnClick();
			//给标记添加点击事件
			LTEvent.addListener( markers[i] , "mouseover" , function(){
				this.openInfoWinHtml(title[$.inArray(this,markers)])
			});		
			map.getBestMap(pointsR); 
		}
	}
	
	function showMess(obj){
	var index=$(obj).attr("value");
		markers[index].openInfoWinHtml(title[index]);
		map.moveToCenter(pointsR[index]);
		map.zoomTo(4);
		
	}
	</script>
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值