【问题标题】:coordinates point is in jmapviewer polygon?坐标点在 jmapviewer 多边形中?
【发布时间】:2016-05-24 13:58:43
【问题描述】:

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

谢谢你, 卢卡

【问题讨论】:

    标签: java polygon jmapviewer


    【解决方案1】:

    概括地说,

    • 构造一个MapPolygon,如图here

    • 使用自定义DefaultMapController 检测鼠标点击,如here 所示。

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-02-27
      • 1970-01-01
      • 2012-07-05
      • 1970-01-01
      • 2017-11-04
      • 1970-01-01
      • 2019-12-27
      相关资源
      最近更新 更多