Android Google Maps API v2 - how to change marker icon
// latitude and longitudedouble latitude = 17.385044;double longitude = 78.486671;// create markerMarkerOptions marker = new MarkerOptions().position(new LatLng(latitude, longitude)).title("Hello Maps");// Changing marker iconmarker.setIcon(BitmapDescriptorFactory.fromResource(R.drawable.my_marker_icon)));// adding markergoogleMap.addMarker(marker);
It's very simple :
new MarkerOptions().icon(BitmapDescriptorFactory.fromResource(R.drawable.icon))
In case you want the icon from a bitmap
new MarkerOptions().icon(BitmapDescriptorFactory.fromBitmap(bitmap));
Use .icon()
Add like this
Marker marker = map.addMarker(new MarkerOptions().position(currentLocation).icon(BitmapDescriptorFactory.fromResource(R.drawable.ic_place_holder)));
Please note don't use vector Images, if you want to use vector use below code
private BitmapDescriptor bitmapDescriptorFromVector(Context context, @DrawableRes int vectorDrawableResourceId) { Drawable background = ContextCompat.getDrawable(context, R.drawable.ic_map_pin_filled_blue_48dp); background.setBounds(0, 0, background.getIntrinsicWidth(), background.getIntrinsicHeight()); Drawable vectorDrawable = ContextCompat.getDrawable(context, vectorDrawableResourceId); vectorDrawable.setBounds(40, 20, vectorDrawable.getIntrinsicWidth() + 40, vectorDrawable.getIntrinsicHeight() + 20); Bitmap bitmap = Bitmap.createBitmap(background.getIntrinsicWidth(), background.getIntrinsicHeight(), Bitmap.Config.ARGB_8888); Canvas canvas = new Canvas(bitmap); background.draw(canvas); vectorDrawable.draw(canvas); return BitmapDescriptorFactory.fromBitmap(bitmap);}