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); } }); } }