当前位置: 首页 > 知识库问答 >
问题:

如何在GeoJSON图层中用额外的线填充彩色多边形?

戴靖
2023-03-14

我是android中GeoJson层的初学者。我想在GeoJson图层上填充一些颜色来绘制多边形。问题是我不能在GeoJson层上用额外的线填充多边形的颜色。

这是我的代码。

 heatMapLayer = GeoJsonLayer(map,  [2]JSONObject(Gson().toJson(featureCollection)))
        heatMapLayer?.features?.forEach {
            var colorIndex = it.getProperty("temp").toDouble().toInt()
            if (colorIndex < -10) {
                colorIndex = -10
            }
            if (colorIndex > 40) {
                colorIndex = 40
            }
            val polygonStyle = GeoJsonPolygonStyle()
            polygonStyle?.fillColor = Utils.hex2ARgb(170, Constants.heatMapColor[colorIndex] ?: error(""))
            polygonStyle?.strokeWidth = 0f
            it.polygonStyle = polygonStyle
            val pointStyle = GeoJsonPointStyle()
            pointStyle.isDraggable = true
            it.pointStyle = pointStyle
        }

我想用颜色显示所有多边形。

下面是示例GeoJson数据。

{“类型”:“特征集合”,“特征”:[{“类型”:“特征”,“属性”:{“温度”:28.0,“默认单位”:“C”},“几何”:{“类型”:“多边形”,“坐标”:[[106.70791799658124,10.575534789370789],[106.707923201947,10.539230085503078],[106.75196848603105,10.5142325763892],[106.79601377011508,10.539230085503078],[106.7960209392707,10.589231196662963],[106.76782493975878,10.605234887615962],[106.76111674178632,10.601428713580317],[106.76111586436221,10.595343333584946],[106.7170625320332,10.570345841048965],[106.707996124,10.575534787878789],{},{“类型”:“特征”,“属性”:“温度”:28.0,“默认单位”,“几何学”:{“类型”:“多边形”,“坐标”:[[[106.7495246377162,10.594851453114759],[106.76782493975878,10.605234887615964],[106.76111783947686,10.609041752489026],[106.76111674178633,10.601428713580317],[106.7495246377162,10.594851453114759]}}]

这是我想展示的结果

共有1个答案

钱浩荡
2023-03-14

试试这个

heatMapLayer = new GeoJsonLayer(googleMap, new JSONObject(airMapGeoJsonLayer.geoJson));
  GeoJsonPolygonStyle style = heatMapLayer.getDefaultPolygonStyle();
  style.setStrokeColor(airMapGeoJsonLayer.strokeColor);
  style.setStrokeWidth(airMapGeoJsonLayer.strokeWidth);
  style.setFillColor(airMapGeoJsonLayer.fillColor);
  heatMapLayer .addLayerToMap();

或者你也可以试试这个

GeoJsonPolygonStyle polyStyle = layer.getDefaultPolygonStyle();
polyStyle.setFillColor(FILL_GREY);
polyStyle.setStrokeColor(STROKE_GREY);
polyStyle.setStrokeWidth(4f);
 类似资料:
  • 我可以在Google地图中绘制多边形。现在,当我在地图上绘制完该区域的多边形时,我想用相同的图标填充该多边形。我可以用颜色填充多边形,但我想用边框有一些填充和图标之间有一些指定空间的图标填充它。我该怎么做?

  • 我有一个桌面视图可以完美地呈现在iOS

  • 问题内容: 有人可以诊断我面临的问题吗?在运行演示时,您可以看到中间部分为空白,我需要填充整个区域。 提前谢谢了 问题答案: 多边形与自身相交。fillPolygon方法无法清楚地确定哪个点在哪个点以及哪个点在哪个点之外。从fillPolygon javadoc: 多边形内部的区域是使用偶数填充规则(也称为交替规则)定义的。 也许您可以将多边形分成三个单个的多边形。

  • 我有一个12列的矩阵,我使用中的函数来绘制boxplot。 使用以下命令: 我想要的是以红色、绿色和蓝色呈现前三个方框图。接下来的三件是黄色的,接下来的三件是橙色的,接下来的三件是紫色的。 我该怎么做呢? 非常感谢。

  • 我有一个UITabBarController的UITableView。当视图首次显示时,桌面视图在顶部显示额外的填充。当我切换到另一个标签,然后回来。它似乎在正确的位置。 所以我的问题是如何去除这个烦人的填充物,让它远离。 我尝试过的内容(但可能不正确): 取消酒吧等下的选项... 使表标题和视图大小为0.01f,并尝试使用nil和0。 可能还有上千种情况,但我遇到的堆栈溢出最多 问题截图: 问题

  • 关于调整图层和填充图层 调整图层可将颜色和色调调整应用于图像,而不会永久更改像素值。例如,您可以创建“色阶”或“曲线”调整图层,而不是直接在图像上调整“色阶”或“曲线”。颜色和色调调整存储在调整图层中并应用于该图层下面的所有图层;您可以通过一次调整来校正多个图层,而不用单独的对每个图层进行调整。您可以随时扔掉更改并恢复原始图像。 填充图层使您可以用纯色、渐变或图案填充图层。与调整图层不同,填充图层