ArcGISRuntime点之间的箭头
创始人
2024-09-12 05:30:22
0

要在ArcGIS Runtime中绘制点之间的箭头,可以使用以下步骤:

  1. 创建一个GraphicsOverlay对象,并将其添加到MapView中:
GraphicsOverlay graphicsOverlay = new GraphicsOverlay();
mapView.getGraphicsOverlays().add(graphicsOverlay);
  1. 创建两个点的Geometry对象,表示起始点和结束点:
Point startPoint = new Point(x1, y1, SpatialReferences.getWgs84());
Point endPoint = new Point(x2, y2, SpatialReferences.getWgs84());
  1. 创建一个SimpleLineSymbol对象,表示箭头的线样式:
SimpleLineSymbol lineSymbol = new SimpleLineSymbol(SimpleLineSymbol.Style.SOLID, Color.BLACK, 2);
  1. 创建一个SimpleMarkerSymbol对象,表示箭头的起始点样式:
SimpleMarkerSymbol markerSymbol = new SimpleMarkerSymbol(SimpleMarkerSymbol.Style.CIRCLE, Color.RED, 10);
  1. 创建一个Polyline对象,表示箭头的线段:
Polyline polyline = new Polyline();
polyline.getParts().add(new PointCollection(Arrays.asList(startPoint, endPoint)));
  1. 根据起始点和结束点的坐标计算箭头的方向,并创建一个Polygon对象,表示箭头的形状:
Polygon arrowhead = createArrowhead(startPoint, endPoint);

其中,createArrowhead方法用于计算箭头的形状:

private Polygon createArrowhead(Point startPoint, Point endPoint) {
    // 计算箭头的方向
    double angle = Math.atan2(endPoint.getY() - startPoint.getY(), endPoint.getX() - startPoint.getX());
    
    // 计算箭头的顶点坐标
    double arrowheadSize = 20; // 箭头的大小
    double x1 = endPoint.getX() - arrowheadSize * Math.cos(angle + Math.PI / 8);
    double y1 = endPoint.getY() - arrowheadSize * Math.sin(angle + Math.PI / 8);
    double x2 = endPoint.getX() - arrowheadSize * Math.cos(angle - Math.PI / 8);
    double y2 = endPoint.getY() - arrowheadSize * Math.sin(angle - Math.PI / 8);
    
    // 创建箭头的多边形
    Polygon arrowhead = new Polygon();
    arrowhead.getParts().add(new PointCollection(Arrays.asList(endPoint, new Point(x1, y1), new Point(x2, y2))));
    
    return arrowhead;
}
  1. 创建一个Graphic对象,并将箭头的线段和箭头的形状添加到该Graphic对象中:
Graphic graphic = new Graphic(polyline, lineSymbol);
graphicsOverlay.getGraphics().add(graphic);

Graphic arrowheadGraphic = new Graphic(arrowhead, markerSymbol);
graphicsOverlay.getGraphics().add(arrowheadGraphic);

这样,就可以在MapView上绘制出点之间的箭头了。请根据实际情况调整箭头的样式和大小。

相关内容

热门资讯

7分钟发现!旺旺福建麻将,线上... 7分钟发现!旺旺福建麻将,线上德州ai机器人,雀神开外挂专用辅助器下载安装(有挂解密)一、旺旺福建麻...
wpk号一直输!微扑克软件透明... wpk号一直输!微扑克软件透明挂,wepower德州的确是有挂的(详细透视脚本教程);微扑克软件辅助...
6分钟发现!夜猫麻将十三水有挂... 6分钟发现!夜猫麻将十三水有挂吗,wpk外挂存在,雀神训练秘籍(有挂脚本)夜猫麻将十三水有挂吗软件透...
wpk机器人!德州软件透明挂,... wpk机器人!德州软件透明挂,云扑克德州一直真的有挂(详细ai辅助教程)1、很好的工具软件,可以解锁...
wopoker辅助!wepok... wopoker辅助!wepoker软件透明挂,cloudpoker一直真的有挂(详细辅助插件教程)1...
4分钟实锤!八闽十三张张有外 ... 4分钟实锤!八闽十三张张有外 挂吗,德州微扑克辅助透视,雀神辅助器免费下载入口(有挂工具)1、用户打...
wepoke辅助机器人!EV扑... wepoke辅助机器人!EV扑克软件透明挂,众合推扑克其实真的有挂(详细辅助工具教程);1、全新机制...
9分钟了解!哥哥跑得快要怎么样... 9分钟了解!哥哥跑得快要怎么样拿到好牌,德扑之星猫腻,雀神广东麻雀提高胜率(有挂详情);1、超多福利...
wpk机器人代打!德州app软... wpk机器人代打!德州app软件透明挂,wePoke其实真的有挂(详细辅助插件教程);1、完成wpk...
4分钟了解!吉祥麻将游戏辅助器... 4分钟了解!吉祥麻将游戏辅助器,德州aapoker俱乐部,广东雀神免费智能辅助(有挂解说)1、任何吉...