【发布时间】:2015-07-31 16:37:53
【问题描述】:
我正在使用 jsf/primefaces 开发一个 Web 应用程序。在我的应用程序中,我将许多多边形推送到 gmap 叠加层上。但是,当我将多边形推到覆盖层上时,它会合并成一个大多边形,因为对象名称在 Polygon 多边形上是静态的。我的问题是如何在迭代时重命名多边形并将多边形对象名称从多边形更改为多边形 1、多边形 2、多边形 3 等。这是我的代码的 sn-p,我试图将多边形推到覆盖层上。
Polygon polygon = new Polygon();
while (rs.next()) {
HashMap<Integer, Polygon> map;
map = new HashMap<Integer, Polygon>();
int id = rs.getInt(1);
String value = rs.getString(2);
String valuereal = value.replaceAll("[^0-9 .,-]+", "");
ArrayList<String> myList = new ArrayList<String>(Arrays.asList(valuereal.split(",")));
myList.remove(myList.size() - 1);
for (String coordString : myList) {
String[] parts = coordString.split(" ");
String latS = parts[0];
String lngS = parts[1];
double lat = Double.parseDouble(latS);
double lng = Double.parseDouble(lngS);
LatLng coord = new LatLng(lat, lng);
polygon.getPaths().add(coord);
map.put(id, polygon);
}
polygon.setStrokeColor("#000000");
polygon.setFillColor("#009900");
polygon.setStrokeOpacity(2.0);
polygon.setFillOpacity(3.0);
System.out.println(map.get(id).getPaths());
polygonModel.addOverlay((Polygon) map.get(id));
【问题讨论】:
标签: java google-maps polygon