Mapabc通过鼠标画点线面,取得各元素坐标。

本文介绍了一个地图绘制工具的交互逻辑,包括如何通过点击事件绘制点、线和面,并且为每种绘制方式设置了不同的监听器。针对不同类型的绘制操作,如绘点、绘线和绘面,文章详细介绍了如何响应鼠标点击事件并进行相应的地图元素绘制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

private function tbb_itemClickHandler(event:ItemClickEvent):void
			{
				if (_HuiZhiGongJuUI.tbb.selectedIndex < 0)
				{
					//this.mapObj.();
				}
				else
				{
					//mapObj.addEventListener(MMapMouseEvent.MOUSE_CLICK,mouseClickCallback); //鼠标画点
					//mapObj.addEventListener(MMapMouseEvent.MOUSE_DBCLICK,mousedbClickCallback); //鼠标画点
				
						
					
					switch (event.item.label)
					{
						case "绘点":
							Types="P";
					mapObj.addEventListener(MMapEvent.ADD_OVERLAY ,mouseClickCallback); //鼠标画点
							mapObj.setCurrentMouseTool(MMapMouseTools.ADD_MARKER); 
									break;
						case "绘线":
							Types="L";
					mapObj.addEventListener(MMapEvent.ADD_OVERLAY,mouseClickCallback); //鼠标画线
							mapObj.setCurrentMouseTool(MMapMouseTools.DRAW_LINE);
																				break;
						case "绘面":
							Types="M";
					mapObj.addEventListener(MMapEvent.ADD_OVERLAY,mouseClickCallback); //鼠标画面
							mapObj.setCurrentMouseTool(MMapMouseTools.DRAW_POLYGON);
														break;
					}
				}
			}
			
			function mouseClickCallback(evt:MMapEvent):void {  
				if(Types=="P")
				{
					
					try{
						var marker:MMarker=mapObj.getOverlayById(evt.overlayId) as MMarker;
			                            zubiaomodeP.x=marker.lnglat.lngX.toString();
						zubiaomodeP.y=marker.lnglat.latY.toString();
												}
					
										
				}
				if(Types=="L")
				{
					var line:MPolyline=mapObj.getOverlayById(evt.overlayId) as MPolyline;
                                              zubiaomodeL.x=mlnL.lngX.toString();
                                              zubiaomodeL.y=mlnL.latY.toString();//
										}
					
								}
				if(Types=="M")
				{
					  var polygon:MPolygon=mapObj.getOverlayById(evt.overlayId) as MPolygon;
                                                 zubiaomodeM.x=mlnM.lngX.toString();
                                                zubiaomodeM.y=mlnM.latY.toString();//
										}
					
				mapObj.setCurrentMouseTool(MMapMouseTools.PAN_WHEELZOOM);		
							
			}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值