gpt4 book ai didi

java - 如何在 WKT 几何图形中绘制带孔的多边形

转载 作者:行者123 更新时间:2023-11-29 04:11:21 25 4
gpt4 key购买 nike

我正在开发一个使用 map 的应用程序。我想在 Java Android 中显示一个带有“洞”的多边形。我进行了搜索,但不幸的是,我找不到解决方案。我想我的问题是我无法设置正确的 fillColor。有人可以帮助我吗?

我的结果:

enter image description here

我希望孔的颜色是透明的。

我的代码:

List<ArrayList<LatLng>> multiLatLon;
...
//draw polygon hole
for(int i=0; i<multiLatLon.size(); i++){
poly = new PolygonOptions();
for (int j=0; j<multiLatLon.get(i).size(); j++){
mop.position(multiLatLon.get(i).get(j));
poly.add(multiLatLon.get(i).get(j));
Marker m = mMap.addMarker(mop);
}
poly.fillColor(R.color.colorOcher);
Polygon polygon = mMap.addPolygon(poly);
}

如果您需要更多信息,请告诉我。

解决方案:

...
poly = new PolygonOptions ();
poly.fillColor (ColorUtils.setAlphaComponent (Color.BLUE, 128));
for (int i = 0; i <multiLatLon.size (); i ++) {
if (i == 0) {
poly.addAll (multiLatLon.get (i));
} else {
poly.addHole (multiLatLon.get (i));
}
}
mMap.addPolygon(poly);

在我的例子中,我知道第一个点数组 (multiLatLon.get (i)) 定义了多边形几何;而其他的是多边形孔。

注意:我用addAll删除了一个for循环

最佳答案

我认为您正在寻找的解决方案是 addHole PolygonOptions 类中的函数。

给那个函数你的分数(如 Iterable<LatLng> )你想要一个洞,你应该好好去。

我不知道你的洞的值在代码中的确切位置,但基本上,你只需像这样调用该函数:

poly = new PolygonOptions();
// set the polygon's attributes
//...
//Iterable<LatLng> hole = //whatever contains the hole
poly.addHole(hole);

关于java - 如何在 WKT 几何图形中绘制带孔的多边形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54887923/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com