ArcGIS for Android中SketchEditor类的样式修改问题

        近期在使用ArcGIS for Android的SDK进行移动端App开发,相信好多人在开发过程中都会遇到手绘点、线、面和距离、面积测量等常见GIS需求,对于ArcGIS for Android来说使用SketchEditor类会大大减少开发代码工作量,而且是官方的类和接口,稳定性也非常棒,参考Sample足以实现相关功能,官方Sample链接:https://developers.arcgis.com/android/latest/java/sample-code/sketch-editor/

        但是在使用SketchEditor类绘制时,每次点击都是出现一个方块,非常难看!如何对手绘点、线、面和测距、测面积时绘制出来的图形样式进行修改呢?仔细看SDK文档会发现SketchEditor类中一个接口getSketchStyle(),返回值类型为SketchStyle,查看SDK文档讲得很明了,但是进行各种修改,进入绘图状态后点鼠标默认的那个小方块就是不会变。基本set接口都尝试了一遍,终于找到了修改编辑状态下的Symbol样式的接口,写此文章记录一下。

private void setSketchEditorStyle(SketchEditor editor){
    SketchStyle style = editor.getSketchStyle();//这里一定是从editor里get出来的style,否则修改无效果。
    SimpleMarkerSymbol marker = new SimpleMarkerSymbol(SimpleMarkerSymbol.Style.CIRCLE, Color.RED, 6);
    SimpleLineSymbol line = new SimpleLineSymbol(SimpleLineSymbol.Style.DASH, Color.YELLOW, 2);
    SimpleLineSymbol feedLine = new SimpleLineSymbol(SimpleLineSymbol.Style.SOLID, Color.RED, 2);
    SimpleMarkerSymbol midMarker = new SimpleMarkerSymbol(SimpleMarkerSymbol.Style.CIRCLE, Color.TRANSPARENT, 0);
    SimpleFillSymbol fillSymbol = new SimpleFillSymbol(SimpleFillSymbol.Style.SOLID, Color.parseColor("#66FF0000"), line);
    SimpleFillSymbol feedFillSymbol = new SimpleFillSymbol(SimpleFillSymbol.Style.SOLID, Color.parseColor("#66FF0000"), feedLine);//透明度为40%的红色


    style.setSelectedVertexSymbol(marker);//操作时点的样式
    style.setMidVertexSymbol(midMarker);//画线或面时,线中间的点样式 

    //手绘时显示的样式
    style.setVertexSymbol(marker);
    style.setLineSymbol(line);
    style.setFillSymbol(fillSymbol);

    //SketchEditor对象在Stop以后地图绘制的样式
    style.setFeedbackVertexSymbol(marker);
    style.setFeedbackLineSymbol(feedLine);
    style.setFeedbackFillSymbol(feedFillSymbol);
}

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值