package com.uiresource.taksiku; import android.content.Context; import android.content.Intent; import android.content.res.Resources; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.graphics.Canvas; import android.graphics.Color; import android.graphics.Paint; import android.graphics.PorterDuff; import android.graphics.Rect; import android.graphics.drawable.Drawable; import android.support.annotation.DrawableRes; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.util.Log; import android.view.LayoutInflater; import android.view.View; import android.widget.Button; import android.widget.LinearLayout; import android.widget.RelativeLayout; import android.widget.TextView; import com.google.android.gms.maps.CameraUpdate; import com.google.android.gms.maps.CameraUpdateFactory; import com.google.android.gms.maps.GoogleMap; import com.google.android.gms.maps.OnMapReadyCallback; import com.google.android.gms.maps.SupportMapFragment; import com.google.android.gms.maps.model.BitmapDescriptorFactory; import com.google.android.gms.maps.model.LatLng; import com.google.android.gms.maps.model.MapStyleOptions; import com.google.android.gms.maps.model.MarkerOptions; public class Home extends BaseActivity implements OnMapReadyCallback { private GoogleMap mMap; private Button btn_request; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_home); setTitleHome(R.id.toolbar, R.id.iv_title, R.drawable.ic_burger, R.drawable.logo_actbar); SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager() .findFragmentById(R.id.map); mapFragment.getMapAsync(this); btn_request = (Button) findViewById(R.id.bt_request); btn_request.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { startActivity(new Intent(Home.this, SelectDriver.class)); } }); } public Bitmap getBitmapFromView(String title, int dotBg) { LinearLayout llmarker = (LinearLayout) findViewById(R.id.ll_marker); TextView markerImageView = (TextView) findViewById(R.id.tv_title); markerImageView.setText(title); View dot = (View) findViewById(R.id.dot_marker); dot.setBackgroundResource(dotBg); llmarker.measure(View.MeasureSpec.UNSPECIFIED, View.MeasureSpec.UNSPECIFIED); Bitmap bitmap = Bitmap.createBitmap(llmarker.getMeasuredWidth(), llmarker.getMeasuredHeight(), Bitmap.Config.ARGB_8888); Canvas canvas = new Canvas(bitmap); llmarker.layout(0, 0, llmarker.getMeasuredWidth(), llmarker.getMeasuredHeight()); llmarker.draw(canvas); return bitmap; } @Override public void onMapReady(GoogleMap googleMap) { mMap = googleMap; boolean success = googleMap.setMapStyle(new MapStyleOptions(getResources() .getString(R.string.style_json))); if (!success) { Log.e("Style", "Style parsing failed."); } LatLng jakarta = new LatLng(-6.232812, 106.820933); LatLng southjakarta = new LatLng(-6.22865,106.8151753); mMap.addMarker(new MarkerOptions().position(jakarta).icon(BitmapDescriptorFactory.fromBitmap(getBitmapFromView("Set Pickup Location", R.drawable.dot_pickup)))); mMap.addMarker(new MarkerOptions().position(southjakarta).icon(BitmapDescriptorFactory.fromBitmap(getBitmapFromView("Set Dropoff Location", R.drawable.dot_dropoff)))); mMap.moveCamera(CameraUpdateFactory.newLatLngZoom(jakarta, 15f)); } }