I did this by taking the link from the Telegram application Telegram application
Add marker on Google Map
GoogleMap mMap; Marker marker; LatLng latLng = new LatLng(Double.parseDouble(lat), Double.parseDouble(long)); MarkerOptions options = new MarkerOptions().position(latLng); Bitmap bitmap = createUserBitmap(); if(bitmap!=null){ options.title("Ketan Ramani"); options.icon(BitmapDescriptorFactory.fromBitmap(bitmap)); options.anchor(0.5f, 0.907f); marker = mMap.addMarker(options); mMap.moveCamera(CameraUpdateFactory.newLatLng(latLng)); mMap.animateCamera(CameraUpdateFactory.zoomTo(15), 2000, null); }
Bitmap Creation Function
private Bitmap createUserBitmap() { Bitmap result = null; try { result = Bitmap.createBitmap(dp(62), dp(76), Bitmap.Config.ARGB_8888); result.eraseColor(Color.TRANSPARENT); Canvas canvas = new Canvas(result); Drawable drawable = getResources().getDrawable(R.drawable.livepin); drawable.setBounds(0, 0, dp(62), dp(76)); drawable.draw(canvas); Paint roundPaint = new Paint(Paint.ANTI_ALIAS_FLAG); RectF bitmapRect = new RectF(); canvas.save(); Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.avatar);
Calculate dp according to device density
public int dp(float value) { if (value == 0) { return 0; } return (int) Math.ceil(getResources().getDisplayMetrics().density * value); }
livepin.png
avatar.png

Ketan ramani
source share