java - 坐标点在jmapviewer多边形中?

标签 java polygon jmapviewer

我正在用 Java 编写一个程序,该程序使用 JMapViewer 显示 map 并绘制静态多边形。当用户在 map 中单击时,程序会说“您单击的点在多边形中”或“不在多边形中”。当该点是否在多边形中时,我该如何计算?有没有现成的方法/类可以做到这一点?

谢谢你, 卢卡

最佳答案

概述,

  • 构造一个MapPolygon如图here .

  • 使用自定义检测鼠标点击 DefaultMapController如图here .

  • mouseClicked() ,构造一个java.awt.Polygon通过迭代List<ICoordinate>返回者 MapPolygon::getPoints ;使用JMapViewer::getPosition转换每个ICoordinate的方法到 Point .

  • 使用 Polygon::contains 判断鼠标坐标是否在这个Polygon内.

image

关于java - 坐标点在jmapviewer多边形中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37415836/

相关文章:

python - 如何在python中计算多边形的截面积

java - JMapViewer、MouseListener调用2次

java - 使用 JCIFS 的 Domino Java 代理 - 清理代理线程时出错

java - 如何根据标点符号和空格拆分字符串?

algorithm - 如何偏移多边形边缘?

java - 以编程方式滚动 JMapViewer map

java - 将经度和纬度转换为点

java - 如何在类图 (UML) 中显示方法是同步的?

java - 整数验证出现问题并显示用户输入了无效数据

ios - 计算 n 边正多边形的顶点