我正在尝试在地图上绘制一个大约260个坐标的多边形。但我无法弄清楚为什么不绘制多边形? PolygonOptions中没有空引用,也没有错误的数据。
protected void drawOverlayPolygon(JSONArray coordinates) {
PolygonOptions rectOptions = new PolygonOptions();
if (coordinates != null) {
int j = 0;
while(!coordinates.isNull(j))
j++;
ArrayList<LatLng> points = new ArrayList<LatLng>(j);
for (int i = 0; i < j; i++) {
try {
JSONArray latlng = coordinates.getJSONArray(i);
// latlng = coordinates.getJSONArray(i);
if (latlng != null) {
LatLng point = new LatLng(Float.parseFloat(latlng
.getString(0)), Float.parseFloat(latlng
.getString(1)));
// rectOptions.add(point);
points.add(point);
Log.i("LatLng Polygon",
Float.parseFloat(latlng.getString(0)) + " / "
+ Float.parseFloat(latlng.getString(1)));
}
} catch (JSONException e) {
e.printStackTrace();
}
// }
}
rectOptions.addAll(points);
rectOptions.strokeColor(Color.RED);
rectOptions.fillColor(Color.BLUE);
Polygon polygon = mapFragment.getMap().addPolygon(rectOptions);
polygon.setVisible(true);
Polygon polygon2 = mapFragment.getMap().addPolygon(
new PolygonOptions()
.add(new LatLng(0, 0), new LatLng(0, 5),
new LatLng(3, 5)).strokeColor(Color.RED)
.fillColor(Color.BLUE));
}
}
为了测试,我添加了一个简单的Polygon(polygon2)并绘制它。我正在解析JSON文件中的坐标。我记录了corrds,他们似乎没事。我注意到的一件事是JSONArray坐标包含空引用。
有人能给我一些线索吗?
答案 0 :(得分:0)
尝试添加:
rectOptions.visible(true);
在将Polygon添加到地图之前。
答案 1 :(得分:0)
Thx Steffi我试图补充一下,但没有奏效。遇到此问题的每个人都会检查Lat Lng坐标的顺序是否正确。否则你的多边形就会在某处被绘制出来:)