package mil.nga.giat.asam.model; import java.io.Serializable; import java.util.ArrayList; import java.util.Arrays; import java.util.List; import com.google.android.gms.maps.model.LatLng; import com.google.android.gms.maps.model.Polygon; @SuppressWarnings("serial") public class SubregionBean implements Serializable { public static final List<Integer> MULTI_SUBREGION_IDS = Arrays.asList(new Integer[] { 16, 19, 76, 83, 96 }); private int mSubregionId; private List<GeoPoint> mGeoPoints; // Needed because LatLng translates 180 to -180 which messes up map click calculations. private boolean mSelected; private List<LatLng> mMapCoordinates; private Polygon mMapPolygon; public SubregionBean(int subregionId, List<GeoPoint> geoPoints) { mSubregionId = subregionId; mGeoPoints = geoPoints; mMapCoordinates = new ArrayList<LatLng>(); for (GeoPoint geoPoint : geoPoints) { mMapCoordinates.add(new LatLng(geoPoint.latitude, geoPoint.longitude)); } } public int getSubregionId() { return mSubregionId; } public List<LatLng> getMapCoordinates() { return mMapCoordinates; } public boolean isSelected() { return mSelected; } public void setSelected(boolean selected) { this.mSelected = selected; } public Polygon getMapPolygon() { return mMapPolygon; } public void setMapPolygon(Polygon mapPolygon) { mMapPolygon = mapPolygon; } public List<GeoPoint> getGeoPoints() { return mGeoPoints; } public static class GeoPoint { public double latitude; public double longitude; public static GeoPoint newInstance(double latitude, double longitude) { GeoPoint geoPoint = new GeoPoint(); geoPoint.latitude = latitude; geoPoint.longitude = longitude; return geoPoint; } } }