package com.jdroid.android.google.maps;
import com.google.android.gms.maps.model.LatLng;
import com.google.android.gms.maps.model.LatLngBounds.Builder;
import com.google.android.gms.maps.model.PolylineOptions;
import com.jdroid.android.application.AbstractApplication;
import com.jdroid.android.domain.GeoLocation;
import java.util.ArrayList;
import java.util.List;
public class Route {
private List<GeoLocation> points;
private int length;
private RouteMode mode;
public Route() {
points = new ArrayList<>();
}
public void addPoint(GeoLocation p) {
points.add(p);
}
public void addPoints(List<GeoLocation> points) {
this.points.addAll(points);
}
public void setLength(int length) {
this.length = length;
}
public int getLength() {
return length;
}
public PolylineOptions toPolyline(Builder builder) {
PolylineOptions polylineOptions = new PolylineOptions();
for (GeoLocation gp : points) {
LatLng latLong = new LatLng(gp.getLatitude(), gp.getLongitude());
polylineOptions.add(latLong);
builder.include(latLong);
}
polylineOptions.color(AbstractApplication.get().getResources().getColor(mode.getColorId()));
return polylineOptions;
}
public boolean isValid() {
return length > 0;
}
void setMode(RouteMode mode) {
this.mode = mode;
}
public List<GeoLocation> getPoints() {
return points;
}
public RouteMode getMode() {
return mode;
}
}