坐标点是在jmapviewer多边形?

时间:2016-05-24 13:58:43

标签: java polygon jmapviewer

我在Java中创建一个使用JMapViewer显示地图并绘制静态多边形的程序。当用户点击地图时,程序会说"您点击的点是多边形"或"不在多边形"。当点是否为多边形时,我该如何计算?有没有现成的方法/课程呢?

谢谢你, 卢卡

1 个答案:

答案 0 :(得分:1)

概括地说,

  • 如图所示构建MapPolygon here

  • 使用here所示的自定义DefaultMapController检测鼠标点击次数。

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

  • 使用Polygon::contains确定鼠标坐标是否位于此Polygon内。

image