地图标绘(点线面)
来源:互联网 发布:供应商管理平台软件 编辑:程序博客网 时间:2024/04/30 05:09
/** * 绘制点线面:点击“添加额外服务”后,地图放大缩小拖拽等功能失效 */add_gService = (Button) findViewById(R.id.add_gservice);add_gService.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { gLayer = new GraphicsLayer(); map.addLayer(gLayer); map.setOnTouchListener(new View.OnTouchListener() { Point previous = null; Polygon polygon = null; @Override public boolean onTouch(View v, MotionEvent event) { float x = event.getX(); float y = event.getY(); Point currPoint = map.toMapPoint(x, y); if (isChoose == true) { previous = null; polygon = null; } if (type == Geometry.Type.POINT) { Graphic graphic = new Graphic(currPoint, symbol); gLayer.addGraphic(graphic); } else { if (previous == null) { previous = currPoint; Graphic graphic = new Graphic(previous, new SimpleMarkerSymbol(Color.RED, 7, SimpleMarkerSymbol.STYLE.CIRCLE)); gLayer.addGraphic(graphic); } else { Graphic graphic = new Graphic(currPoint, new SimpleMarkerSymbol(Color.RED, 7, SimpleMarkerSymbol.STYLE.CIRCLE)); gLayer.addGraphic(graphic); Line line = new Line(); line.setStart(previous); line.setEnd(currPoint); if (type == Geometry.Type.POLYLINE) { Polyline polyline = new Polyline(); polyline.addSegment(line, true); Graphic graphic1 = new Graphic(polyline, symbol); gLayer.addGraphic(graphic1); } else if (type == Geometry.Type.POLYGON) { if (polygon == null) { polygon = new Polygon(); } polygon.addSegment(line, false); Graphic graphic1 = new Graphic(polygon, fillSymbol); gLayer.addGraphic(graphic1); } } } isChoose = false; previous = currPoint; return false; } }); }});
/** * 动态加载菜单:不占用地图显示空间 */@Overridepublic boolean onCreateOptionsMenu(Menu menu) { SubMenu pointSubMenu = menu.addSubMenu("点"); pointSubMenu.setHeaderTitle("绘制点"); pointSubMenu.add(0, 0, 0, "红点"); pointSubMenu.add(0, 1, 0, "绿点"); pointSubMenu.add(0, 2, 0, "蓝点"); SubMenu lineSubMenu = menu.addSubMenu("线"); lineSubMenu.setHeaderTitle("绘制线"); lineSubMenu.add(1, 0, 0, "红线"); lineSubMenu.add(1, 1, 0, "绿虚线"); lineSubMenu.add(1, 2, 0, "蓝线"); SubMenu polygonSubMenu = menu.addSubMenu("面"); polygonSubMenu.setHeaderTitle("绘制面"); polygonSubMenu.add(2, 0, 0, "红面"); polygonSubMenu.add(2, 1, 0, "绿面半透明"); polygonSubMenu.add(2, 2, 0, "蓝面"); return super.onCreateOptionsMenu(menu);}@Overridepublic boolean onOptionsItemSelected(MenuItem mi) { isChoose = true; switch (mi.getGroupId()) { case 0: type = Geometry.Type.POINT; switch (mi.getItemId()) { case 0: symbol = new SimpleMarkerSymbol(Color.RED, 7, SimpleMarkerSymbol.STYLE.CIRCLE); break; case 1: symbol = new SimpleMarkerSymbol(Color.GREEN, 7, SimpleMarkerSymbol.STYLE.CIRCLE); break; case 2: symbol = new SimpleMarkerSymbol(Color.BLUE, 7, SimpleMarkerSymbol.STYLE.CIRCLE); break; default: break; } break; case 1: type = Geometry.Type.POLYLINE; switch (mi.getItemId()) { case 0: symbol = new SimpleLineSymbol(Color.RED, 5, SimpleLineSymbol.STYLE.SOLID); break; case 1: symbol = new SimpleLineSymbol(Color.GREEN, 5, SimpleLineSymbol.STYLE.DASH); break; case 2: symbol = new SimpleLineSymbol(Color.BLUE, 5, SimpleLineSymbol.STYLE.SOLID); break; default: break; } break; case 2: type = Geometry.Type.POLYGON; switch (mi.getItemId()) { case 0: fillSymbol = new SimpleFillSymbol(Color.RED, SimpleFillSymbol.STYLE.SOLID); break; case 1: fillSymbol = new SimpleFillSymbol(Color.GREEN); fillSymbol.setAlpha(50); break; case 2: fillSymbol = new SimpleFillSymbol(Color.BLUE, SimpleFillSymbol.STYLE.SOLID); break; default: break; } break; default: break; } return false;}
0 0
- 地图标绘(点线面)
- 点线面如何标绘在地图上
- 地图上画点线面
- 在地图中添加点线面
- Opencv之点线面(c++版)
- cocos2d-x 绘图(点线面)
- c#点线面(非继承)
- 百度离线地图api2.0 加载本地瓦片 实现点线面标注 ajax提交(完全内网)
- 地图动态标绘--B/S应用(一)
- 地图动态标绘--B/S应用(二)
- opengl画点线面
- 几何点线面模板
- day1.3 点线面
- 2.点线面
- 地图上标注带坐标的 点线面 文字文字信息
- AE中画点线面查询小结(C#)
- Three.js描绘点线面 (含满天星空Demo)
- google离线地图实例,加载本地地图瓦片, 支持点线面及图文标注,坐标定位,卫星、电子地图切换
- Sql语句的执行顺序
- 当ajax遇到session失效
- java 5多线程乐观锁CAS之于悲观锁synchronized
- poj 1364(差分约束+spfa判断负环)
- 工厂模式定义
- 地图标绘(点线面)
- extern与头文件(*.h)的区别和联系
- 217. Contains Duplicate
- pthread_cond_wait pthread_cond_broadcast条件变量时要注意
- 基于微服务架构,改造企业核心系统之实践
- 如何用pdf转jpg软件将pdf转换成图片
- Quartus2 通过Nativelink调用modelsim进行功能仿真(转载)
- GET请求
- 可变长度参数和_*符号