HoHoMap开发日记(3)

4 篇文章 0 订阅
4 篇文章 0 订阅

HoHoMap开发日记(3)


继续吐槽队友,他们在玩三国杀……

而我在苦逼的听话写东西……


好了,一直搞不懂JavaScript的参数传入,想要连一个监听器,然后又不想用匿名方法,你要我如何是好呀,所以写成了这样的代码。


	map.addEventListener("click",function(e)
	{
		addMarker(e,map);		
	});

function addMarker(e,map)
{
	var icon=new BMap.Icon("loc_1.png",new BMap.Size(32,32),{anchor:new BMap.Size(16,32)});
	var marker=new BMap.Marker(e.point,{icon:icon});
	//var map = new BMap.Map("l-map");  
	marker.setAnimation(BMAP_ANIMATION_BOUNCE); //跳动的动画});	
	map.addOverlay(marker);  
}

其实我是想直接调用的,但是不知为什么就是不行哦……

 

给地图添加测距功能哦,没有什么技术含量,只是调用百度的javascript库。

     <script type="text/javascript" src="http://api.map.baidu.com/library/DistanceTool/1.2/src/DistanceTool_min.js"></script>

在HTML文件中调用了这个库之后,在右键菜单的回调函数中调用开启功能

function InitRightClick(map)
{
	var contextMenu = new BMap.ContextMenu();
	var txtMenuItem = [
	  {
	   text:'放大',
	   callback:function(){map.zoomIn()}
	  },
	  {
	   text:'缩小',
	   callback:function(){map.zoomOut()}
	  },
	  {
		 text:'打开测距模式',
		 callback:function()
		 {
			DistanceMode = new BMapLib.DistanceTool(map);
			DistanceMode.open();
			  
		 }
	  },
	  {
	  	 text:'关闭测距模式',
		 callback:function()
		 {
			//var myDis = new BMapLib.DistanceTool(map);
			DistanceMode.close();  //关闭鼠标测距大
			  
		 }
	  }
	  
	 ];
	
	 for(var i=0; i < txtMenuItem.length; i++)
	 {
		contextMenu.addItem(new BMap.MenuItem(txtMenuItem[i].text,txtMenuItem[i].callback,100));
		if(i==1 || i==3) 
		{
		  contextMenu.addSeparator();
		}
	 }
	 map.addContextMenu(contextMenu);	
}

下面做一个右键弹出菜单

这个是布局的文件

    	<form>
            	<label for="Marker">Marker:</label>            
            	<select name="SelectMarker" id="SelectMarker">
                    <option value=0 selected>什么都没有</option>
                    <option value=1>默认图标</option>
                    <option value=2>公仔</option>
                    <option value=3>车子</option>
                    <option value=4>基站</option>
                    <option value=5>交通灯</option>
                </select>           
   	 </form>

这个是实现的代码

function addMarker(e,map)
{
	var thisValue=document.getElementById("SelectMarker").value;
	//alert(thisValue);
	if(thisValue==0)
	{
	}
	else if(thisValue==1)
	{
		var marker=new BMap.Marker(e.point);
		map.addOverlay(marker);
	}
	else if(thisValue==2)
	{
		var icon=new BMap.Icon("man.png",new BMap.Size(24,24),{anchor:new BMap.Size(12,24)});
		var marker=new BMap.Marker(e.point,{icon:icon});
		map.addOverlay(marker);
	}
	else if(thisValue==3)
	{
		var icon=new BMap.Icon("car.png",new BMap.Size(24,24),{anchor:new BMap.Size(12,24)});
		var marker=new BMap.Marker(e.point,{icon:icon});
		map.addOverlay(marker);
	}
	else if(thisValue==4)
	{
		var icon=new BMap.Icon("wifi.png",new BMap.Size(24,24),{anchor:new BMap.Size(12,24)});
		var marker=new BMap.Marker(e.point,{icon:icon});
		map.addOverlay(marker);
	}
	else if(thisValue==5)
	{
		var icon=new BMap.Icon("traffic_red.png",new BMap.Size(24,24),{anchor:new BMap.Size(12,24)});
		var marker=new BMap.Marker(e.point,{icon:icon});
		map.addOverlay(marker);
	}
}





 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值