`

长按标记点

    博客分类:
  • GIS
 
阅读更多
	@Override
		public void OnLongPress(int x, int y) {

			eMyTrackingLayer tl = GetMap().TrackingLayer();
			eMyGeoEvent ge = tl.GetAt("P1");
			if (ge == null) {
				// 没有这个Tag为P1的对象,就添加一个点
				eMyGeometry geom = new eMyGeometry(1, 1);
				eMyPoint mapPoint = GetMap().DrawParam().DevToMap(x, y);
				System.out.println(mapPoint.GetX() + "--" + mapPoint.GetY());
				geom.SetPointAt(0, mapPoint);
				mapPoint.Dispose();

				// 设置TrackingLayer的风格
				tl.GetStyle().SetBrushColor(Color.BLUE);
				tl.GetStyle().SetAlpha(128);
				tl.GetStyle().SetPenColor(Color.RED);
				// 图标
				tl.GetStyle().SetBmpIndex(84);

				String tag = "P1";
				tl.AddEvent(geom, eGeometryType.Point, tag, 0);
				tl.SetVisible(true);
				repaint(0, 0);
			} else {
				// 已经有了这个点了,移动这个点到新位置
				eMyPoint devPoint = new eMyPoint(x, y);
				eMyPoint2D geoPoint = DevToGeo(devPoint);
				System.out.println("移动后:" + geoPoint.GetX() + "--"
						+ geoPoint.GetY());
				ge.MoveTo(geoPoint.GetX(), geoPoint.GetY(), GetMap());
				geoPoint.Dispose();
				tl.SetVisible(true);
				repaint(0, 0);
			}
		}

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics