1

我有一个完整的 LatLng 点列表,可以在 google maps android v2 中创建一个多边形,但我无法弄清楚如何将此列表正确添加到 .add 区域。这是我的点数清单:

list.add(new LatLng(la,lo));

这是通过谷歌开发的多边形

Polygon polygon = map.addPolygon(new PolygonOptions()
.add(*******HOW TO ITTERATE LIST************).strokeColor(Color.RED)
.fillColor(Color.BLUE));

你是怎么加分的?

4

3 回答 3

5
PolygonOptions opts=new PolygonOptions();

for (LatLng location : list) {
  opts.add(location);
}

Polygon polygon = map.addPolygon(opts.strokeColor(Color.RED).fillColor(Color.BLUE));

这假设它list类似于ArrayList<LatLng>.

于 2013-10-03T22:24:31.627 回答
1

我有同样的问题,我发现这个不需要迭代。

PolygonOptions polOpt =
    new PolygonOptions().addAll(latlngs).strokeColor(Color.RED).fillColor(Color.BLUE);

Polygon polygon = mMap.addPolygon(polOpt);
于 2018-06-09T02:02:41.923 回答
0

它可能会帮助某人。我做了同样的工作。

ArrayList<LatLng> locations = new ArrayList();

在列表中添加 latLng 值。

locations .add(new LatLng(2, 2));
locations .add(new LatLng(4, 2));
locations .add(new LatLng(4, 4));
locations .add(new LatLng(2, 4));
locations .add(new LatLng(2, 2))

在地图上创建 GeoFence

PolylineOptions options = new PolylineOptions().width(5).color(Color.RED).geodesic(true);
                for (int z = 0; z < locations.size(); z++) {
                    LatLng point = locations.get(z);
                    options.add(point);
                }
                mMap.addPolyline(options);
                CameraPosition cameraPosition;
                cameraPosition = new CameraPosition.Builder().target(new LatLng(50.8404969, -0.1504184)).zoom(15).build();
                mMap.animateCamera(CameraUpdateFactory.newCameraPosition(cameraPosition));
于 2020-02-03T10:56:04.347 回答