绘制点、线、面

2024-06-21 00:32
文章标签 绘制

本文主要是介绍绘制点、线、面,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Ø  知识点:地图点击事件---方法重用

Ø  实现详情:绘制点线面时,都要对地图进行点击,新建不同的类实现地图点击接口

**
 点击各种按钮(搜索、点、线、面)
 */


    private DrawPointEventListener dPo=new DrawPointEventListener();
    private DrawPolylineEventListener dPl=new DrawPolylineEventListener();
    private DrawPolygonEventListener dPg=new DrawPolygonEventListener();
    @Override
    public void onClick(View v) {clearGetLoc();
        switch (v.getId()){case R.id.search:search();
                 break;
            case R.id.point:aMap.clear();
                aMap.setOnMapClickListener(dPo);///设置地图点击监听事件
                break;
            case R.id.polyline:aMap.clear();
                aMap.setOnMapClickListener(null);
               latLngs = new ArrayList<LatLng>();
                aMap.setOnMapClickListener(dPl);

                /*drawPolyLine.setOnLongClickListener(new View.OnLongClickListener() {
                    @Override
                    public boolean onLongClick(View v) { //长按事件
                        aMap.addPolyline(new PolylineOptions().addAll(latLngs).width(10).color(Color.argb(255, 1, 1, 1)));
                        return true;
                    }
                });*/

                break;
            case R.id.polygon:aMap.clear();
                aMap.setOnMapClickListener(null);
                latLngs = new ArrayList<LatLng>();
                aMap.setOnMapClickListener(dPg);
               /* drawPolygon.setOnLongClickListener(new View.OnLongClickListener() {
                    @Override
                    public boolean onLongClick(View v) { //长按事件
                        if (latLngs.size() >= 3) {
                            aMap.addPolygon(new PolygonOptions()
                                    .addAll(latLngs).strokeWidth(10).strokeColor(Color.argb(255, 1, 1, 1))
                                    .fillColor(Color.LTGRAY));
                            return true;
                        }
                        else
                            return false;
                    }
                });*/

                break;
            default:break;
        }}
public class DrawPointEventListener implements AMap.OnMapClickListener {@Override
    public void onMapClick(LatLng latLng) {double latitude = latLng.latitude;
        double longitude = latLng.longitude;


        MarkerOptions otMarkerOptions = new MarkerOptions();
        otMarkerOptions.icon(BitmapDescriptorFactory.fromResource(R.drawable.gps2));
        otMarkerOptions.position(latLng);
        otMarkerOptions.title("我拖拖拖!");
        otMarkerOptions.draggable(true);
        aMap.addMarker(otMarkerOptions);

    }
}
public class DrawPolylineEventListener implements AMap.OnMapClickListener{@Override
        public void onMapClick(LatLng latLng) {double latitude = latLng.latitude;
             double longitude = latLng.longitude;

            MarkerOptions otMarkerOptions = new MarkerOptions();
            otMarkerOptions.icon(BitmapDescriptorFactory.fromResource(R.drawable.gps2));
            otMarkerOptions.position(latLng);
            otMarkerOptions.draggable(true);
            aMap.addMarker(otMarkerOptions);
            latLngs.add(new LatLng(latitude,longitude));
            if(latLngs.size()>=2){aMap.addPolyline(new PolylineOptions().addAll(latLngs).width(10).color(Color.argb(255, 1, 1, 1)));
            }}
}
public class DrawPolygonEventListener implements AMap.OnMapClickListener{@Override
        public void onMapClick(LatLng latLng) {double latitude = latLng.latitude;
            double longitude = latLng.longitude;

            MarkerOptions otMarkerOptions = new MarkerOptions();
            otMarkerOptions.icon(BitmapDescriptorFactory.fromResource(R.drawable.gps2));
            otMarkerOptions.position(latLng);
            otMarkerOptions.draggable(true);
            aMap.addMarker(otMarkerOptions);
            latLngs.add(new LatLng(latitude,longitude));
            if (latLngs.size() >= 3) {aMap.addPolygon(new PolygonOptions().addAll(latLngs).strokeWidth(10).strokeColor(Color.argb(255, 1, 1, 1)).fillColor(Color.LTGRAY));
            }}}

这篇关于绘制点、线、面的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1079699

相关文章

以canvas方式绘制粒子背景效果,感觉还可以

这个是看到项目中别人写好的,感觉这种写法效果还可以,就存留记录下 就是这种的背景效果。如果想改背景颜色可以通过canvas.js文件中的fillStyle值改。 附上demo下载地址。 https://download.csdn.net/download/u012138137/11249872

XMG 绘制形状

1. 除非是绘制曲线直接使用原生的。如果绘制形状直接使用UIBezerPath  2. 命名原则,类方法以类名开头 UIBezierPath bezierPathWithRect 3.圆角半径 画圆的大小 以每个顶点为圆心。给定的半径为半径画一个1/4圆。把周边的给切掉 4.只有封闭的形状调用这个方法才有用 [path fill] 5. stroke 描边一下

CesiumJS【Basic】- #008 通过canvas绘制billboard

文章目录 通过canvas绘制billboard1 目标2 实现 通过canvas绘制billboard 1 目标 通过canvas绘制billboard 2 实现 /** @Author: alan.lau* @Date: 2024-06-16 11:15:48* @LastEditTime: 2024-06-16 11:43:02* @LastEditors: al

使用AGG里面的clip_box函数裁剪画布, 绘制裁剪后的图形

// 矩形裁剪图片, 透明void agg_testImageClipbox_rgba32(unsigned char* buffer, unsigned int width, unsigned int height){// ========= 创建渲染缓冲区 =========agg::rendering_buffer rbuf;// BMP是上下倒置的,为了和GDI习惯相同,最后一个参数是

Canvas绘制图片和区域

如何使用Canvas在图片上绘制区域? 一. 首先,我们需要初始化三个canvas画布(初始化Canvas)   initCanvas() {// 初始化canvas画布let canvasWrap = document.getElementsByClassName("canvas-wrap");this.wrapWidth = canvasWrap[0].clientWidth;thi

「JCVI教程」如何绘制CNS级别的共线性图(中)

在「JCVI教程」编码序列或蛋白序列运行共线性分析流程(上)还是有一个尴尬的事情,就是只用到两个物种,不能展示出JCVI画图的方便之处,因此这里参考https://github.com/tanghaibao/jcvi/wiki/MCscan-(Python-version)的分析,只不过画图部分拓展下思路。 首先要运行如下代码获取目的数据 python -m jcvi.apps.fetch p

「JCVI教程」如何绘制CNS级别的共线性图(上)

本教程借鉴https://github.com/tanghaibao/jcvi/wiki/MCscan-(Python-version). 我们先从http://plants.ensembl.org/index.html选择两个物种做分析, 这里选择的就是前两个物种,也就是拟南芥和水稻(得亏没有小麦和玉米) 选择物种 我们下载它的GFF文件,cdna序列和蛋白序列 #A

「JCVI教程」如何基于物种的CDS的blast结果绘制点图(dotplot)

这是唐海宝老师GitHub上的JCVI工具的非官方说明书。 该工具集的功能非常多,但是教程资料目前看起来并不多,因此为了能让更多人用上那么好用的工具,我就一边探索,一边写教程 这一篇文章教大家如何利用JCVI里面的工具绘制点图,展现两个物种之间的共线性关系。 在分析之前,你需要从PhytozomeV11 下载A.thaliana和Alyrata的CDS序列,保证文件夹里有如下内容 Al

OpenGL-ES 学习(6)---- 立方体绘制

目录 立方体绘制基本原理立方体的顶点坐标和绘制顺序立方体颜色和着色器实现效果和参考代码 立方体绘制基本原理 一个立方体是由8个顶点组成,共6个面,所以绘制立方体本质上就是绘制这6个面共12个三角形 顶点的坐标体系如下图所示,三维坐标的中心原点位于立方体的中心,但是要特别注意的是,前后方向表示的是Z轴,上下方向表示的是Y轴 立方体的顶点坐标和绘制顺序 立方体坐标定义

iTextSharp 绘制pdf

一、新建项目:pdfdemo <ItemGroup><PackageReference Include="iTextSharp.LGPLv2.Core" Version="3.4.20" /></ItemGroup> 二、HomeController.cs using iTextSharp.text;using iTextSharp.text.pdf;using Microsoft.