我正在用 Java 编写一个程序,该程序使用 JMapViewer 显示 map 并绘制静态多边形。当用户在 map 中单击时,程序会说“您单击的点在多边形中”或“不在多边形中”。当该点是否在多边形中时,我该如何计算?有没有现成的方法/类可以做到这一点?
谢谢你, 卢卡
最佳答案
概述,
构造一个
MapPolygon
如图here .使用自定义检测鼠标点击
DefaultMapController
如图here .在
mouseClicked()
,构造一个java.awt.Polygon
通过迭代List<ICoordinate>
返回者MapPolygon::getPoints
;使用JMapViewer::getPosition
转换每个ICoordinate
的方法到Point
.使用
Polygon::contains
判断鼠标坐标是否在这个Polygon
内.
关于java - 坐标点在jmapviewer多边形中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37415836/