任我行二 - 高德地图篇3 - 画线

随机生成点

目前使用的是随机生成的点来绘制拆线。

public void draw() {
        Random random = new Random(100);
        LatLng start= new LatLng(30.47523,114.385532);
        List<LatLng> points = new ArrayList<LatLng>();
        int i = 0;
        while (i++ < 100) {
            double lat = random.nextDouble() * 0.1;
            double lng = random.nextDouble() * 0.1;
            LatLng latLng = new LatLng(start.latitude+lat, start.longitude+lng);
            points.add(latLng);
        }
//        aMap.moveCamera(CameraUpdateFactory.newLatLng(points.get(points.size()-1)));
        Map map = new Map(aMap);
        TrackPathUtils.addPath(map, new ArrayList<Polyline>(), points, Color.RED, false);
    }

调用工具类来画线

/**
     * Add a path.
     *
     * @param map       the  map
     * @param paths     the existing paths
     * @param points    the path points
     * @param color     the path color
     * @param append    true to append to the last path
     */
    public static void addPath(Map map, List<Polyline> paths,
                               List<LatLng> points, int color, boolean append) {
        if (points.size() == 0) {
            return;
        }
        if (append && paths.size() != 0) {
            Polyline lastPolyline = paths.get(paths.size() - 1);
            ArrayList<LatLng> pathPoints = new ArrayList<LatLng>();
            pathPoints.addAll(lastPolyline.getPoints());
            pathPoints.addAll(points);
            lastPolyline.setPoints(pathPoints);
        } else {
            AMap aMap = map.getAMap();
//            PolylineOptions polylineOptions = new PolylineOptions().add(new LatLng(43.828, 87.621), new LatLng(45.808, 126.55)).width(10).color(Color.RED);
            PolylineOptions polylineOptions = new PolylineOptions().addAll(points).width(5).color(color);
            Polyline polyline = aMap.addPolyline(polylineOptions);
            paths.add(polyline);
        }
        points.clear();
    }
时间: 2024-08-08 21:21:02

任我行二 - 高德地图篇3 - 画线的相关文章

计算机图形学(二)输出图元_3_画线算法_1_直线方程

画线算法 场景中的直线段由其两端点的坐标位置来定义.要在光栅监视器上显示一线段,图形系统必须先将两端点投影到整数屏幕坐标,并确定离两端点间的直线路径最近的像素位置.接下来将颜色值装人帧缓存相应的像素坐标处.视频控制器从帧缓存读出写入的颜色值并绘制屏幕像素.这一过程将一线段数字化为一组离散的整数位置.一般而言,这些位置是实际线路径的近似.例如,计算出的线位置(10.48, 20.51)转换为像素位置(10, 21).坐标值舍入到整数,引起除水平和垂直以外所有线段的阶梯效应("锯齿形"),

计算机图形学(二)输出图元_3_画线算法_3_Bresenham画线算法

Bresenham画线算法 本来在word中是有右下数的,一编辑在csdn中编辑就没有了.                         Bresenham画线算法是由Bresenham提出的一种精确而有效的光栅线生成算法,该算法仅仅使用增量整数计算.另外Bresenham算法还可用于显示圆和其他曲线.图3.8和图3.9给出了绘制线段的屏幕局部.垂直轴表示扫描线位置,水平轴标识像素列.在这个例子中,我们以单位x间隔取样,并且需要确定每次取样时两个可能的像素位置中的哪一个更接近于线路径.从图3.

Vue 高德地图 路径规划 画点

CDN 方式 <!--引入高德地图JSAPI --> <script src="//webapi.amap.com/maps?v=1.4.13&key=您申请的key值"></script> <!--引入UI组件库(1.0版本) --> <script src="//webapi.amap.com/ui/1.0/main.js"></script> 配置externals 文件路径 bu

计算机图形学(二)输出图元_3_画线算法_2_DDA算法

DDA算法 数字微分分析仪(digital differential analyzer, DDA)方法是一种线段扫描转换算法,基于使用等式(3.4)或等式(3.5)计算的&x或&y.在一个坐标轴上以单位间隔对线段取样,从而确定另一个坐标轴上最靠近线路径的对应整数值.首先考虑如图3.6所示的具有正斜率的线段.例如,如果斜率小于等于1,则以单位x间隔(&x = 1)取样,并逐个计算每一个y值: 下标k取整数值,从第一个点1开始递增直至最后端点.由于m可以是0与1之间的任意实数,所以计算

高德地图之定位篇-----&gt;定位、预测天气、围栏、搜索周边、行踪轨迹

跟集成百度地图一样,首先获取KEY,获取方式(官方的截图) 这篇主要是讲解高德地图定位篇,高德地图定位篇跟高德地图篇是不同的sdk,分离开了... 来看下配置流程吧,配置是第一位的 1.从网站下载并解压得到定位包"Android_Location_V1.xx.jar". 2.开发工程中新建"libs"文件夹,将定位包拷贝到 libs 的根目录下.拷贝完成后的工程目录(以 V1.0.4 为例)如图所示: image 注意:若您在 Eclipse 上使用 adt22 版

图形学复习4——光栅化(画线画圆扫描线反走样算法)

图形学复习 CH7 光栅化 前几章介绍了几何处理和裁剪变换,接下来的步骤就是光栅化 光栅化是将形式表示的几何图元转换为阵列表示的数据片元的过程,片元中每一个像素对应帧缓冲区中的每一个像素 7.1 线段生成算法 (1)DDA画线算法 设直线表达式为y=mx+b,输入直线两端点坐标(x0,y0)和(xend,yend),可以计算出m=yend?y0xend?x0和b=y0?m?x0 DAA是基于微分运算的线段生成算法,其主要计算式便是δy=mδx: 若|m|≤1则x方向的变化大于y方向的变化,以x方

【高德地图API】从零开始学高德JS API(二)地图控件与插件——测距、圆形编辑器、鼠标工具、地图类型切换、鹰眼鱼骨

摘要:无论是控件还是插件,都是在一级API接口的基础上,进行二次开发,封装的一系列更加便于开发者使用,减少开发者工作量的二级API接口.除了官方通用的鱼骨.鹰眼控件,还有大量官方开发的地图插件,类似谷歌的lib.当然本文还会介绍自定义插件的使用. ------------------------------------------------------------------------------------------------- 第一部分 控件 目前官方支持的控件包含:缩放控制条-地图

高德地图第一篇

如果使用高德地图的API,首先需要引入高德地图的API 1.页面引入高德地图API <script type="text/javascript" src="http://webapi.amap.com/maps?v=1.3&key=59cc615a40d6b98b7f3756a0f6f8721d"></script> 2.页面上需要有个容器进行承载 <div id="container" class=&quo

计算机图形学(二)输出图元_2_ OpenGL画线函数

 OpenGL画线函数 图形软件包一般都提供一个描述一条或多条直线段的函数,其中每一直线段由两个端点坐标位置定义.在OpenGL中,和选择一个点位置一样,我们使用glVertex函数选择单个端点的坐标位置.我们使用一对glBegin/g1End来引入一串端点位置.有三个OpenGL符号常量可用于指定如何把这一串端点位置连接成一组直线段.默认情况下,每一符号常量显示白色实线. 使用图元线常量GL_LINES可连接每一对相邻端点而得到一组直线段.通常,这会导致一组未连接的线段,除非重复某些坐标位置.