/**

* 定位绘图

*

* @author wuxin

* @time 10:29

*/

public class DrawLocate {

private static Graphic graphicCenterPoint;

private static Graphic graphicErrorRound;

/**

* 绘制定位

* @param center 中心点

* @param radius 误差圆半径(单位:米)

* @param graphicsLayer 绘制图层

* @param centerImage 中心点图片

* @param errorRoundColorFill 误差圆颜色

* @param errorRoundColorLine 误差圆边线颜色

*/

public static void drawPoint(Point center, double radius,

GraphicsLayer graphicsLayer, Drawable centerImage,

int errorRoundColorFill, int errorRoundColorLine) {

/* 清除图层 */

if(graphicsLayer != null){

graphicsLayer.removeAll();

}

/* 绘制中心点 */

PictureMarkerSymbol symbol = new PictureMarkerSymbol(centerImage);

symbol.setOffsetY(10.0f);

graphicCenterPoint = new Graphic(center, symbol);

/* 绘制误差圆 */

if(radius > 0){

Polygon polygon = new Polygon();

getCircle(center, radius, polygon);

FillSymbol fillSymbol = new SimpleFillSymbol(errorRoundColorFill);

fillSymbol.setAlpha(10);

SimpleLineSymbol lineSymbol = new SimpleLineSymbol(errorRoundColorLine, 2.0f, SimpleLineSymbol.STYLE.SOLID);

fillSymbol.setOutline(lineSymbol);

graphicErrorRound = new Graphic(polygon, fillSymbol);

}

/* 绘制上图 */

graphicsLayer.addGraphics(new Graphic[]{graphicCenterPoint, graphicErrorRound});

}

/**

* 获取圆的图形对象

*

* @param center

* @param radius

* @return

*/

public static Polygon getCircle(Point center, double radius) {

Polygon polygon = new Polygon();

getCircle(center, radius, polygon);

return polygon;

}

/**

*

* @param center

* 中心点

* @param radius

* 半径(米)

* @param circle

* 圆的图形对象

*/

private static void getCircle(Point center, double radius, Polygon circle) {

circle.setEmpty();

Point[] points = getPoints(center, radius);

circle.startPath(points[0]);

for (int i = 1; i < points.length; i++)

circle.lineTo(points[i]);

}

/**

* 通过中心点和半径计算得出圆形的边线点集合

*

* @param center

* @param radius

* @return

*/

private static Point[] getPoints(Point center, double radius) {

Point[] points = new Point[50];

double sin;

double cos;

double x;

double y;

for (double i = 0; i < 50; i++) {

sin = Math.sin(Math.PI * 2 * i / 50);

cos = Math.cos(Math.PI * 2 * i / 50);

x = center.getX() + radius * sin;

y = center.getY() + radius * cos;

points[(int) i] = new Point(x, y);

}

return points;

}

}

引用方式:

DrawLocate.drawPoint(point, location.getRadius(), baiduLayer, image, Color.parseColor("#0099FF"), Color.parseColor("#0099FF"));

android arcgis 绘制圆_ArcGIS For Android 定位绘图工具 [中心点,误差圆]相关推荐

  1. android 3d模型画点6,3D模型绘图工具最新版

    3D模型绘图工具app是一款非常不错的3D立体模型线上制作查看服务软件,就像电脑版本的cad差不多类型,直接使用该软件可以查看和编辑绘制模型图,支持连接设备打印功能,移动模型,缩放旋转都可以.需要的可 ...

  2. android arcgis 绘制圆_arcgis for android 定位 圆

    不多说直接代码 ,群里人共享的 方法一: /** * 绘制圆,配合 cleargraphicLayer()清除 * * @param center 圆心 * @param radius 半径 * @p ...

  3. android view 绘制过程,深入理解Android中View绘制的三大流程

    前言 最近对Android中View的绘制机制有了一些新的认识,所以想记录下来并分享给大家.View的工作流程主要是指measure.layout.draw这三大流程,即测量.布局和绘制,其中meas ...

  4. android代码绘制正弦图像,利用Android的Canvas绘制正弦函数图像

    一时兴起用android原生的基础绘制工具,绘制了一个正弦(余弦)函数图象,不多说,先上图: MainView.java类 package com.zhaofeng.main; import java ...

  5. android编程绘制扇形,分析实现Android自定义View之扇形图

    继承View基类,画了这样的扇形图 粗糙的样子^_^ 直接来步骤吧 1.分析 自定义View需要认真的分析下,里面还是会用到一些数学知识 首先是扇形该怎么表现 1. 扇形的外观是个圆弧,而且是围绕一个 ...

  6. android 动态绘制布局,Android代码和绘制曲线中按钮和绘图板的动态布局

    时间: 2019年1月11日 本文向您介绍Android代码中的按钮和绘图板的动态布局和绘制曲线,主要包括示例android 动态绘制曲线,应用技巧,基本知识和知识android 动态绘制曲线,包括A ...

  7. Android开发丶基于高德地图实现定位、搜索定位、绘制圆圈自定义图标及改变圆圈半径等功能

    前一段时间接了个需求,进入一个地图界面,可以获取当前位置信息,通过输入位置信息获取位置,绘制圆圈并可以实时改变圆圈半径等功能,地图SDK我们使用的是高德地图,仔细阅读了开发文档,发现这些需求都可以通过 ...

  8. android xml 小圆点,如何在android xml可绘制文件中定义一个圆形状?

    8种机械键盘轴体对比 本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选? 我有一些问题找到Android的XML的形状定义的文档.我想在XML文件中定义一个简单的填充了纯色的圆圈,将其包含到我的 ...

  9. android arcgis使用自定义图片背景底图(tif图片制作)

    简介 arcgis在安卓中专业级位置服务中发挥了很大的作用,当然主要目的不是为了像百度地图那样显示地图,它包含了很多很多百度地图等不具备的功能.一般使用它都是用的范围很大的shp文件做底图,但是也有只 ...

最新文章

  1. Unity导出apk出现的问题,JDK,Android SDK,NDK,无“安装模块”
  2. 【译】权益证明的设计理念
  3. 技术干货 | 视频直播关键技术和趋势
  4. 【tensorflow-keras-BatchNormalization】BatchNormalization批量标准化层
  5. SAP UI5 应用开发教程之二十七 - SAP UI5 应用的单元测试工具 QUnit 介绍
  6. 数据结构单向不循环链表实现多项式合并
  7. 使用Java将数据流式传输到HPCC
  8. 数组的合并和升序排列_每日“力扣”系列10 下一个排列
  9. 2018 LC3见闻
  10. 算法:874. 模拟行走机器人
  11. 【系列二之图像处理系列】波形处理(2)
  12. jsp linux 一键安装包,JspStudy免费版|JspStudy(jsp环境一键安装包) v2016.01.01免费版_星星软件园...
  13. Java项目中常见的文件夹名称
  14. isPrime 判断素数的函数
  15. MongoDb(六)索引原理和命令
  16. 数组最大值和最小值的求法
  17. sql 查询之排除某种特定的数据
  18. 关于forward(转发)和redirect(重定向)的区别
  19. 【中序、后序遍历序列】【前序、中序遍历序列】构造二叉树
  20. 145.如何评价个性化推荐系统的效果-2

热门文章

  1. python中的路径问题汇总
  2. Python学习之GUI--SQL数据库连接
  3. 增量架构方法与系统构建
  4. 轻量级微服务架构实践之路
  5. MySQL 四种事务隔离级别详解及对比--转
  6. 基于Linux的集群系统(八)--转
  7. 关于产品的一点点想法
  8. GMIS 2017大会杨强演讲:迁移学习的挑战和六大突破点
  9. ajax的数据库,AJAX 数据库
  10. Spring Boot - 手把手教小师妹自定义Spring Boot Starter