从列表中将LatLon添加到Polygon android google map version 2

时间:2013-10-03 22:22:42

标签: android google-maps

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

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

这是Google Dev的多边形

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

你如何添加积分?

3 个答案:

答案 0 :(得分:2)

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>

答案 1 :(得分:0)

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

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

Polygon polygon = mMap.addPolygon(polOpt);

答案 2 :(得分: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));