package com.github.polok.routedrawer.demo;
import android.app.Activity;
import android.graphics.Color;
import android.os.Bundle;
import com.github.polok.routedrawer.RouteDrawer;
import com.github.polok.routedrawer.RouteRest;
import com.github.polok.routedrawer.model.Routes;
import com.github.polok.routedrawer.model.TravelMode;
import com.github.polok.routedrawer.parser.RouteJsonParser;
import com.google.android.gms.maps.GoogleMap;
import com.google.android.gms.maps.MapFragment;
import com.google.android.gms.maps.model.BitmapDescriptorFactory;
import com.google.android.gms.maps.model.LatLng;
import rx.android.schedulers.AndroidSchedulers;
import rx.functions.Action1;
import rx.functions.Func1;
public class MainActivity extends Activity {
private GoogleMap googleMap;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
googleMap = ((MapFragment) getFragmentManager().findFragmentById(R.id.map)).getMap();
final RouteDrawer routeDrawer = new RouteDrawer.RouteDrawerBuilder(googleMap)
.withColor(Color.BLUE)
.withWidth(8)
.withAlpha(0.5f)
.withMarkerIcon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_ORANGE))
.build();
RouteRest routeRest = new RouteRest();
routeRest.getJsonDirections(new LatLng(50.126922, 19.015261), new LatLng(50.200206, 19.175603), TravelMode.DRIVING)
.observeOn(AndroidSchedulers.mainThread())
.map(new Func1<String, Routes>() {
@Override
public Routes call(String s) {
return new RouteJsonParser<Routes>().parse(s, Routes.class);
}
})
.subscribe(new Action1<Routes>() {
@Override
public void call(Routes r) {
routeDrawer.drawPath(r);
}
});
}
}