利用SOSO地图API 画圆形

1.当鼠标左键单击后开始移动鼠标取半径,当单击鼠标右键结束操作

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>SOSOMap</title>
<style type="text/css">
*{
    margin:0px;
    padding:0px;
}
body, button, input, select, textarea {
    font: 12px/16px Verdana, Helvetica, Arial, sans-serif;
}
#info{
    width:603px;
    padding-top:3px;
    overflow:hidden;
}
.btn{
    width:190px;
}
</style>
<script charset="utf-8" src="http://api.map.soso.com/v1.0/main.js"></script>
</script>
<script type="text/javascript">
var circle;
function init(){
    var center=new soso.maps.LatLng(39.982163,116.306070);
    var map=new soso.maps.Map(document.getElementById("container"),{
        center:center,
        zoomLevel:14
    });
    circle=new soso.maps.Circle({
    map:map,
    center:center,
    radius:0,
    fillColor:"#0f0",
    fillOpacity:0.3,
    strokeWeight:2
    });
     var circle_lat;
     var circle_lng;
     var first;
     var second;
     var listener;
     var listener_click=soso.maps.Event.addListener(map,"click",function(e){	 					
	    circle.setCenter(e.latLng); 		//设置圆心
	    circle_lat=e.latLng.getLat();		//获取圆心纬度
	    circle_lng=e.latLng.getLng();       //获取圆心经度          
	    first= new soso.maps.LatLng(circle_lat,circle_lng);
	
	        listener =  soso.maps.Event.addListener(map,"mousemove",function(event){
	        second=new soso.maps.LatLng(event.latLng.getLat(),event.latLng.getLng());
	        setTimeout(function(){
       		 var aa=parseInt(map.getDistance(first,second));	
       		 circle.setRadius(aa);  
    		},0);	   	  
	    	});	  	     	 	  		    	
	    });  
	soso.maps.Event.addListener(circle,"rightclick",function(){		    
        soso.maps.Event.removeListener(listener);		//移除监听事件  
        soso.maps.Event.removeListener(listener_click); 
        alert("结束"); 
    	});	 
}
</script>
</head>
<body οnlοad="init()">
<div style="width:603px;height:300px" id="container"></div>
</body>
</html>


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值