我创建了借鉴了JMapViewer污染信息的应用程序。 我想与MapPolygons要做到这一点,但我没有找到一个好文件。 我成功地创造新的MapPolygons是这样的:
private MapPolygon getPolygon(double lat, double lon, Color col){
List<Coordinate> coords = new ArrayList<>();
//add all points to the list...
MapPolygon poly = new MapPolygonImpl(coords);
return poly;
}
我不知道我怎么会改变颜色和去除MapPolygon的边界。 有没有功能的setColor或这样的...
我直接与构造试过,但是这并不工作:
MapPolygon poly = new MapPolygonImpl(coords, Color.RED, new BasicStroke(0));
有谁知道我可以改变MapPolygon的颜色? 谢谢!
因为MapPolygonImpl
延伸MapObjectImpl
, MapPolygonImpl
继承setColor()
和setBackColor()
从MapObjectImpl
。 MapPolygonImpl
在履行使用这些颜色paint()
颜色是存储在父类的Style
属性,通过调用初始化getDefaultStyle()
施工期间。
可以改变所选择的阿尔法分量Color
来实现多种效果; 下面的例子中采用的是12.5%的淡灰色。
MapPolygonImpl poly = new MapPolygonImpl(coords);
Color color = new Color(0x20202020, true);
poly.setColor(color);
poly.setBackColor(color);
poly.setStroke(new BasicStroke(0));
map.addMapPolygon(poly);
如果现有的颜色是令人满意的,类似的效果可以通过将颜色与背景颜色来实现。
MapPolygonImpl poly = new MapPolygonImpl(route);
poly.setColor(poly.getBackColor());
发现了这件事。 你必须创建图层和样式:
Layer global = new Layer("Global");
Style style = new Style();
style.setBackColor(col);
style.setColor(col);
style.setStroke(new BasicStroke(0));
MapPolygon poly = new MapPolygonImpl(global,"",coords,style);
return poly;