如何用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¶ms=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 可以解决这个问题。
我正在尝试从一系列坐标绘制地图,这些坐标是带有 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¶ms=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 可以解决这个问题。