我在Java中创建一个使用JMapViewer显示地图并绘制静态多边形的程序。当用户点击地图时,程序会说"您点击的点是多边形"或"不在多边形"。当点是否为多边形时,我该如何计算?有没有现成的方法/课程呢?
谢谢你, 卢卡
答案 0 :(得分:1)
概括地说,
如图所示构建MapPolygon
here。
使用here所示的自定义DefaultMapController
检测鼠标点击次数。
在mouseClicked()
中,通过迭代java.awt.Polygon
返回的List<ICoordinate>
来构建MapPolygon::getPoints
;使用JMapViewer::getPosition
方法将每个ICoordinate
转换为Point
。
使用Polygon::contains
确定鼠标坐标是否位于此Polygon
内。