首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

agm-添加其他点时不更新多边形

是指在地图绘制中,使用AGM (Angular Google Maps)库时,添加其他点时不会更新多边形。AGM是一个基于Angular的Google Maps库,用于在Angular应用程序中集成Google地图功能。

多边形是由一系列连续的线段组成的闭合图形。在AGM中,可以通过添加多个点来绘制多边形。然而,在添加其他点时,AGM默认情况下不会自动更新已经绘制的多边形。

为了实现在添加其他点时更新多边形,可以使用AGM提供的相应方法和事件。具体步骤如下:

  1. 创建一个空的多边形对象,并将其绑定到地图上。
  2. 监听地图的点击事件,在点击地图时触发相应的事件处理函数。
  3. 在事件处理函数中,获取点击位置的坐标,并将其作为新的多边形点加入到已有的多边形对象中。
  4. 更新多边形对象的路径,以反映新添加的点。
  5. 将更新后的多边形对象重新绑定到地图上,以显示更新后的多边形。

以下是一个示例代码,演示如何在AGM中实现添加其他点时更新多边形:

在组件类中定义多边形对象和其他必要属性:

代码语言:txt
复制
import { Component } from '@angular/core';
import { PolygonManager } from '@agm/core';

@Component({
  selector: 'app-map',
  templateUrl: './map.component.html',
  styleUrls: ['./map.component.css']
})
export class MapComponent {
  polygonPaths: Array<google.maps.LatLngLiteral> = []; // 存储多边形点的数组
  polygonOptions: google.maps.PolygonOptions = { editable: false }; // 多边形的选项
  polygon: PolygonManager; // 多边形对象

  constructor() {}

  mapClick(event: google.maps.MouseEvent) {
    const clickedPoint = { lat: event.latLng.lat(), lng: event.latLng.lng() };
    this.polygonPaths.push(clickedPoint);
    this.polygon.setPath(this.polygonPaths);
  }
}

在模板中使用AGM指令和绑定事件:

代码语言:txt
复制
<agm-map [latitude]="51.678418" [longitude]="7.809007" [zoom]="14">
  <agm-polygon [paths]="polygonPaths" [options]="polygonOptions" (mapClick)="mapClick($event)"></agm-polygon>
</agm-map>

通过以上代码,当地图被点击时,会触发mapClick方法,将点击的坐标点添加到polygonPaths数组中,并通过setPath方法更新多边形对象的路径。

至于推荐的腾讯云相关产品和产品介绍链接地址,可以参考腾讯云文档中与地图相关的服务,如位置服务(https://cloud.tencent.com/product/location-service)或地图SDK(https://cloud.tencent.com/product/lbs)等。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

带你实现一个简单的多边形编辑器

创建一个多边形的基本操作是鼠标点击并添加顶点,所以需要监听点击事件,然后用线把点击的都连接起来,鼠标点击事件对象的clientX好clientY是相对于浏览器窗口的,所以需要减去画布和浏览器窗口的偏移量来得到相对于画布的坐标...,而且添加了两次,可以手动把最后两个去掉或者自己使用click事件来模拟双击事件,本文方便起见就不处理了。...以拖动更新单个顶点的位置添加一下吸附判断: onMousemove (e) { if (this.isClosePath && this.isMousedown && this.dragPointIndex...,使用点到直线的距离公式: 标准的直线方程为:Ax+By+C=0,有三个未知变量,我们只有两个,显然计算不出三个变量,所以我们使用斜截式:y=kx+b,即垂直于x轴的直线,计算出k和b,这样:Ax...不过最后还需要判断一下这个是否在线段上,也许是在直线的其他位置: getNearestPoint (x1, y1, x2, y2, x0, y0) { let k = (y2 - y1) /

1.2K40
  • 烧脑!JS+Canvas 带你体验「偶消奇不消」的智商挑战

    globalCompositeOperation 是指 在绘制新形状应用的合成操作的类型 如何判断一个是否在任意多边形内部? 当回转数为 0 ,点在闭合曲线外部。...判断一个是否在任意多边形内部有多种方法,比如: 射线法 面积判别法 叉乘判别法 回转数法 ... 在层叠拼图Plus 小游戏内,采用的是 回转数 法来判断玩家触摸是否在多边形内部。...上面面这张图动态演示了回转数的概念:图中红色曲线关于(人所在位置)的回转数为 2。 对于给定的多边形,回转数应该怎么计算呢? 用线段分别连接点和多边形的全部顶点 ?...另外有兴趣的同学可以使用其他方法来实现判断一个是否在任意多边形内部。 如何判断游戏结果是否正确?...要让代码运行在开放数据域,需要在 game.json 中添加配置项 openDataContext 指定开放数据域的代码目录。 添加该配置项表示小游戏启用了开放数据域,这将会导致一些限制。

    1.4K30

    计算机视觉常用图像数据集标记平台

    价格:免费 功能:提供了更多的工具,包括、线、多边形、圆和椭圆(仅在此列表中支持圆和椭圆!)还可以添加对象和图像属性/标签。...项目管理:在数据集管理和用户方面没有什么先进的功能,但是它的界面是多边形注释最有效和最精确的界面之一,因为它允许您查看多边形的线条而不是其他任何内容。...价格:模型培训版的免费社区版和企业定价 功能性:一系列工具,包括,线,盒,多边形和用于语义分割的位图画笔(我们还没有发现它们的智能工具太有用了)。还包括在多边形中绘制孔的可能性,这是非常有价值的。...定价:免费社区版仅限5000张图片和企业版 功能性:提供完整的注释工具,如,线,盒和多边形,最近为他们的语义分割画笔添加了一个很棒的新功能 – 一个超级像素着色选项,使生活变得如此简单(就像这样和这个开源工具...5、其他平台 Diffgram :一个非常有前途的平台仍然在beta版,通过训练RCNN优化图像注释。 RectLabel :用于为MacOS绑定框和多边形的绝佳工具。

    1.3K30

    眨个眼就学会了Pixi.js

    将我认为入门需要掌握的知识记录下来。所以,你们懂的,太难的问题我回答上,或者我会用拆特鸡皮蹄敷衍你。...import * as PIXI from 'pixi.js' 其他依赖包 在创建一些特殊图形你可以还需要使用到 @pixi/graphics-extras CDN <script src="https...app.stage.addChild(graphics) 其实在用 drawRoundedRect <em>时</em>,你<em>不</em>传最后一个参数 radius 它也不会怪你的,因为它本身有默认值嘛。...radius 是<em>多边形</em>的半径,也就是中心点到各个<em>点</em>的距离。 sides 是<em>多边形</em>的边数,最小值是3。 rotation 是<em>多边形</em>的旋转弧度,默认值是0。...x 和 y 是圆角正<em>多边形</em>的中心<em>点</em>。 radius 是圆角正<em>多边形</em>的半径(中心点到各个顶点的距离)。 sides 是边的数量。 corner 是每个角的圆角半径,这个参数是必传的!

    6.9K10

    图形编辑器基于Paper.js教程08:鼠标画封闭的自由多边形,靠近起点自动关闭

    在这篇技术博客中,我们将深入探讨如何使用 Paper.js 实现一个基本的图形绘制应用,允许用户在画布上绘制封闭的多边形。...如果没有,我们初始化一个新的路径,并将第一个添加到这个路径中。 if (!...添加顶点和闭合路径 如果路径已经存在,并且用户点击的位置接近第一个顶点,则路径将被闭合,完成多边形的绘制。...实时更新和结束绘图 当用户移动鼠标,onMouseMove 事件更新当前正在绘制的路径的最后一个,这样用户可以看到从最后一个顶点到鼠标位置的实时线条。...if (path) { path.lastSegment.point = event.point; } 在鼠标释放,onMouseUp 事件也会更新路径的最后一个,确保顶点的位置与用户最后点击的位置一致

    13410

    使用 Rust 极致提升 Python 性能:图表和绘图提升 24 倍,数据计算提升 10 倍

    由于一些模型的变更,当我们想对一些业务调用重新计算,这个运行时间真的影响了我们的 QA 反馈周期,使得将更新的模型引入到生产环境,变得更加困难。...既然代码中已经在使用 pandas 了,为什么试试 geopandas 呢?然后,我们可以在一个库调用中,计算所有多边形区域。 然而,这是一个灾难,我们增加了 10 倍的运行时间!...考虑到后续的过滤算法,Rust 处理时间约占任务总运行时间的 20%,因此添加更多线程几乎没有意义,除非任务的其他部分可以受益。 生产环境的提升 以上小修改的具体代码,已经部署在正式生产环境中。...我们必须考虑到,我们在这里添加了一项新技术,使代码复杂化了,并使维护源代码存储库变得更加困难。但是,通过限制新库的功能实现范围,具体地小改进,可以缓解这种情况。...业务逻辑没有改变,但实现方式已经改变了,只要 point-in-polygon “正常工作”——我们有单元测试来证明这一——这次代码改进就不会造成任何伤害。

    1.9K31

    给定一个边与边可能相交的多边形,求它的轮廓线

    所以我们首先要做的是 求出目标多边形上的所有交点,并更新邻接表,得到一个额外带有交点信息的多边形邻接表。 我们来看看具体要怎么实现。 求交点以及更新邻接表 这里需要一个求两线段交点的算法。...,计算其和其他不相邻边的交点。...} // 更新邻接表 adjList.push(crossPtAdjPoints); } 步进法找路径 上面我们得到了带交点的多边形邻接表,必要的的数据都准备好了,下一步就是一从一个点出发走出一条多边形的路径...(2)步进,取角度最小的邻接点为路径的下一个 计算当前点到上一个的向量,和当前点到其他邻接点相邻向量逆时针夹角。找出其中夹角最小的邻接点,作为下一个,不断步进,直到当前为路径起点。...这里有几个优化。 首先判断大小的场景可进行优化,比如求距离使用了开方,其实没必要开方。

    14910

    POSTGIS 总结

    ) —— 返回多边形的面积 ST_NRings(geometry) —— 返回多边形中环的数量(通常为1个,其他是孔) ST_ExteriorRing(geometry) —— 以线串的形式返回多边形最外面的环...虽然这对于高度事务性的数据库是必不可少的功能,但在添加索引或大容量数据之后等待自动清理运行是不明智的,如果执行大批量更新,则应该手动运行VACUUM命令。 根据需要,可以单独执行清理和分析。...多边形的简单性与有效性 7.3.1 单多边形 有效性: 多边形的环必须闭合 内环应该处于外环的内部 环不能自相交(它们不能相互接触,也不能交叉) 环不能与其他环接触,除非在某个相切(只能有一个在一个相切...) 多边形的环只要不自相交,则该多边形就是简单的 7.3.2 多多边形多边形里只要各个子元素(单多边形)是简单的、有效的,而且子元素之间只在有限的上接触,那么它就是简单的、有效的。...无论是绘制多边形的方向、定义多边形的起点,还是使用的的个数的差异在这里都不重要。重要的是多边形包含相同的空间区域。

    6K10

    深入探索地理空间查询:如何优雅地在MySQL、PostgreSQL及Redis中实现精准的地理数据存储与检索技巧

    注意事项 在使用多边形查询,要确保多边形是闭合的,即开始点和结束是同一个。 在使用空间索引,要通过 EXPLAIN 语句来检查索引是否被正确使用,并在必要时调整查询条件。...2.3 多边形查询 PostGIS 还允许我们对多边形进行查询。例如,我们可以查询一个是否位于一个多边形内,或者找出与一个多边形相交的所有其他多边形。...74.0060 40.7128 "Place1" -118.2437 34.0522 "Place2"; 3.2 基于半径的查询 Redis Geo允许我们执行基于半径的查询,找到距离给定点一定距离内的其他...注意事项 在实时更新地理位置数据,请注意控制更新的频率和粒度,以平衡系统的性能和数据的实时性。 在使用哈希和集合优化查询,要注意数据的一致性和完整性。...例如,我们可以利用ST_Buffer生成一个周围的缓冲区,并进一步找出与这个缓冲区相交的其他空间对象。

    64510

    手把手教你实现手绘风格图形🔵

    多边形&矩形 多边形就是把多个首尾相连起来,遍历顶点调用绘制线段的方法即可: // 绘制手绘多边形 polygon (points = [], opt = {}) { if (points.length...间隔一个: 比如上图的多边形我们随便找一个线段bc,对于b来说上一个是a,下一个是c,b分别加上c减a的横坐标纵坐标之差,得到了控制c1,其他也是一样,最后算出来的控制都会在外面,现在还差一个控制...也可以和上面的线段一样画两次,综合效果如下: 圆搞定了,椭圆也类似,毕竟圆是椭圆的一种特殊情况,顺带提一下,椭圆的近似周长公式如下: 填充 样式1 先来看一种比较简单的填充: 上面我们绘制的矩形四条边是断开的,路径闭合不能直接调用...2.活动边表AET 也是一个数组,里面保存着与当前扫描线相交的边信息,随着扫描线的扫描会发生变化,删除不相交的,添加新相交的。该表里的边按xi递增排序。...,即y >= ymax ​ (4)更新AET表里剩下的边信息的xi,即xi = xi + dx ​ (5)更新扫描线的y,即y = y + 1 看着并不难,接下来转化成代码,先创建一下边表ET

    1.6K30

    【愚公系列】2023年11月 WPF控件专题 Polygon控件详解

    除了Points属性之外,Polygon控件还具有其他可设置的属性,例如Stroke、StrokeThickness和Fill。这些属性可以用于定义多边形的描边和填充。...以下是一个示例:Polygon polygon = new Polygon();// 添加四个polygon.Points.Add(new Point(10, 10));polygon.Points.Add...最后,我们将Polygon添加到Canvas容器中。1.属性介绍WPF中Polygon控件是用于绘制多边形的控件,它具有以下属性:Fill:用于设置多边形的填充颜色。...绘制不规则区域:例如绘制复杂的多边形区域,用于定义窗口的可操作区域或按钮的可点击区域等。绘制地图或其他图形:例如绘制地图中的国家、省份等区域形状。...总之,Polygon控件可以在需要绘制多边形图形或区域提供很好的支持,使得应用程序更加灵活和丰富。

    76511

    OpenLayers入门(一)

    这是本系列的第一篇,主要介绍地图的实例化、基本的要素操作,后续不定期更新。 本文基于OpenLayers v6+版本,代码基于Vue。...安装 npm i ol 实例化地图 要显示一个基本的地图首先需要提供一个容器,设置好宽高,然后引入OpenLayers,添加一个地图图层,地图服务可以使用内置的一个开源地图OSM,也可以使用其他的在线瓦片服务...constrainResolution: true// 因为存在非整数的缩放级别,所以设置该参数为true来让每次缩放结束后自动缩放到距离最近的一个整数级别,这个必须要设置,当缩放在非整数级别地图会糊...interactions: defaultInteractions().extend([new DragRotateAndZoom()]) }) 这样就可以按住shift键通过鼠标来进行旋转地图。...}) }) ]) // 矢量源 let source = new VectorSource({ features: [feature] }) // 实例化的时候也可以添加

    4.9K40

    Tableau可视化设计案例-07 多边形地图和背景图地图

    数据:2014年各省市售电量.xlsx 1.多边形地图 1.1 多边形地图的相关概念 1.2英国国家公园多边形地图 打开数据 国家公园地理数据.xlsx – 把 经纬度由数字型修改为地理类型 – 双击精度...和维度 – 点击分析,去掉聚合度量 – 标记中的形状选择多边形-- 把 公园ID拖拽到 颜色 – 把ID 拖拽到路径 --点击 地图 选择地图层,显示地名,设置冲蚀 – 右键多边形区域,选择添加注释...,选择添加区域,设置 凯恩戈姆国家公园 2.设置地理信息 2.1 自定义地理码导入 备注:只能做填充地图 Tableau 绘制地图,支持的地理位置数据有限。...当我们需要 Tableau 识别我们自定义的地理位置数据,我们可以使用 Tableau 的自定义地理编码功能。...3.从来验证工作成果,不知道做得好做得坏,只顾闷头拉车,不会抬头看天。 4.读了很多书,但从不总结规律;即使总结了规律,也没有用到实践中。

    20030

    快速入门Tableau系列 | Chapter07【多边形地图和背景地图:设置地理信息(自定义地图码导入、设置地图源)】

    ③公园名称->颜色,标记->多边形ID->路径 ? 这个时候我们放大再把鼠标放到颜色图上会显示如下信息: ?...根据上图,我们看到大小和标签选项不能设置,这是多边形地图的特性。 ⑤为每个区域添加标签:右击区域->添加注释->区域->输入文本 ? 最终效果为: ?...上图的标记处我们可以看到与以往有些不同,这一不同是导入自定义地图码后才会出现的。 导入之后的结果:导入的地理编码只能做符号地图,不能做填充地图。...==②脱机:==使用联机地图创建地图视图,Tableau会构成存储的图像存储在缓存中,存储图像有效期只有30天。...**因为在国内用国外的地图源,有时会出现此种情况,这时可以换其他的地图层,如下图所示: ? 背景地图可以随我们的个人喜好进行设置,并且还可以通过设置成默认,下次打开还能接着使用。

    2.1K30

    Qt编写地图综合应用9-行政区划

    ,最后将该集合封闭连起来,就形成了行政区划的轮廓图了,使用下来发现地图本身提供的函数可以支持到县城,如果需要精确到乡镇那就需要其他办法获得,一种是直接加载事先准备好的乡镇的边界集合的js文件,一种是在地图上绘制多边形...,然后开启可编辑属性,人为的拖动边界,最后获取整个多边形的边界集合即可,这种方法有个专业术语叫扒数据,在音乐界叫扒带。...支持查询路线,可设置起点位置、终点位置、路线模式、路线方式、路线方案(最少时间、最少换乘、最少步行、乘地铁、最短距离、避开高速)。 可显示点线面工具,可直接在地图上划线、、矩形、圆形等。...可设置行政区划,指定某个城市区域绘制图层,在线地图自动输出行政区划边界集合到js文件给离线地图使用。 可静态或者动态添加多个覆盖物。支持、折线、多边形、矩形、圆形、弧线、聚合等。...支持js动态交互添加点、删除、清空、重置,不需要刷新页面。 支持任意Qt版本、任意系统、任意编译器。

    1.3K00

    【Web技术】1139- 手把手教你实现手绘风格图形

    多边形&矩形 多边形就是把多个首尾相连起来,遍历顶点调用绘制线段的方法即可: // 绘制手绘多边形 polygon (points = [], opt = {}) { if (points.length...间隔一个: 比如上图的多边形我们随便找一个线段bc,对于b来说上一个是a,下一个是c,b分别加上c减a的横坐标纵坐标之差,得到了控制c1,其他也是一样,最后算出来的控制都会在外面,现在还差一个控制...也可以和上面的线段一样画两次,综合效果如下: 圆搞定了,椭圆也类似,毕竟圆是椭圆的一种特殊情况,顺带提一下,椭圆的近似周长公式如下: 填充 样式1 先来看一种比较简单的填充: 上面我们绘制的矩形四条边是断开的,路径闭合不能直接调用...2.活动边表AET也是一个数组,里面保存着与当前扫描线相交的边信息,随着扫描线的扫描会发生变化,删除不相交的,添加新相交的。该表里的边按xi递增排序。...>= ymax (4)更新AET表里剩下的边信息的xi,即xi = xi + dx (5)更新扫描线的y,即y = y + 1看着并不难,接下来转化成代码,先创建一下边表ET: // 创建排序边表ET

    81710
    领券