数据表格双击,根据geometry实现地图定位功能

获取geometry传入函数drawGraphic中:
function drawGraphic(geometry){
require([
		"esri/graphic","esri/symbols/SimpleLineSymbol","esri/symbols/SimpleFillSymbol","dojo/colors",
		"esri/toolbars/draw","esri/symbols/SimpleMarkerSymbol"
	],function (Graphic,SimpleLineSymbol,SimpleFillSymbol,Color,Draw,SimpleMarkerSymbol) {
		//根据geometry生成图形graphic
		/*
		下面的代码都是已经封装好的,自己写的话按照下面的步骤写就可以
		var map = new Map("mapDiv"); mapDiv:Container id for the referencing map,存放地图的容器,已封装好,top.window.mainMap就是map
		创建客户端图层
		var graphicsLayer=new GraphicsLayer();已封装好,top.window.mainMap.graphics就是graphicsLayer
		将客户端图层添加到地图中
		map.addLayer(graphicsLayer);框架中已经封装添加过了,不再需要这一步
		*/
		//定义线符号
		var lineSymbol=new SimpleLineSymbol(SimpleLineSymbol.STYLE_DASH, new Color([255, 0, 0]), 3);
		//定义点符号
		var pSymbol=new SimpleMarkerSymbol(SimpleMarkerSymbol.STYLE_CIRCLE,10, lineSymbol, new Color([255, 0, 0]));
		//定义面符号
		var fill=SimpleFillSymbol(SimpleFillSymbol.STYLE_SOLID, lineSymbol,  new Color([255, 0, 0]));
		//定义图形
		var graphic;
		var type = geometry.type;
		switch(type){
			case "point":
				graphic=new Graphic(geometry,pSymbol);
				break;
			case "polyline":
				graphic=new Graphic(geometry,lineSymbol);
				break;
			case "polygon":
				graphic=new Graphic(geometry,fill);
				break;
		}
		//将图形添加到图层中
		top.window.mainMap.graphics.add(graphic);


		//在地图上绘制图形
		//创建绘图对象
		var toolbar = new Draw(top.window.mainMap, { showTooltips: true });
		//激活绘图工具
		switch(type){
			case "point":
				//激活绘图工具(画点)
				toolbar.activate(Draw.POINT, {
					showTooltips:true
				})
				break;
			case "polyline":
				//激活绘图工具(画折线)
				toolbar.activate(Draw.POLYLINE, {
					showTooltips:true
				})
				break;
			case "polygon":
				//激活绘图工具(绘制面)
				toolbar.activate(Draw.POLYGON, {
					showTooltips:true
				})
				break;
		}

        //top.window.mainMap就是map
		top.window.mainMap.graphics.add(graphic);
		//关掉绘图工具
		toolbar.deactivate();

		//绘制的图形居中显示
		top.window.mainMap.setExtent(geometry.getExtent().expand(2));

	})
}

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值