如何用javafx绘制多边形,多维数组作为参数

How to draw a polygon with javafx, with a multidimensional array as parameter

我正在尝试从一系列坐标绘制地图,这些坐标是带有 javafx 多边形的多维数组。

只用一个简单的数组就能完美工作:

Polygon polygon = new Polygon();
polygon.getPoints().addAll(new Double[] { 1.0, 1.0, 1.0, 2.0, 2.0, 2.0, 2.0, 1.0, 1.0, 1.0 });

但不是来自数组的数组。坐标看起来像这样:

http://polygons.openstreetmap.fr/get_geojson.py?id=62428&params=0

我研究了一个上午,但没有找到有用的解决方案。任何帮助将不胜感激

JavaFX 多边形仅支持单个轮廓,因此对于多个轮廓,您需要创建一个多边形数组并对其进行循环,例如:

ArrayList<Polygon> polygons = new ArrrayList<Polygon>;
...
for (double [] region : regionArray) {
    Polygon polygon = new Polygon();
    polygon.getPoints().addAll(region);
    polygons.add(polygon);
 }

棘手的部分是处理其他多边形内部的多边形,因为这些多边形可能应显示为 'holes'。但我认为,如果您使用正确的绘图设置,JavaFX 可以解决这个问题。