maps - Android setting custom icon to marker returns null in Marshmallow -


i'm trying set custom icons markers in google maps, works fine phone runs android 4.1.2, tested app samsung galaxy tabs2 runs 6.0.1 , seems can't find icons. below there code

@override public void onmapready(googlemap googlemap) {     devicemap = googlemap;     devicemap.setonmapclicklistener(new googlemap.onmapclicklistener() {         @override         public void onmapclick(latlng point) {             if(customm != null)                 customm.remove();             customm = devicemap.addmarker(new markeroptions().position(point).icon(bmd).title(getstring(r.string.custompos)));         }     });     if (devicemap != null) {         try{             bitmap bm = bitmapfactory.decoderesource(getresources(), r.drawable.temp_bts_icon);             devicem = devicemap.addmarker(new markeroptions().position(devicepos).title(getstring(r.string.devicepos))                     .icon(bitmapdescriptorfactory.frombitmap(bm)));             bm = bitmapfactory.decoderesource(getresources(), r.drawable.phone);             telephonem = devicemap.addmarker(new markeroptions().position(telephonepos).title(getstring(r.string.telephonepos))                     .icon(bitmapdescriptorfactory.frombitmap(bm)));         }catch (exception e){             toast.maketext(globals.mainactivity, "error retrieving icons", toast.length_short).show();             devicem = devicemap.addmarker(new markeroptions().position(devicepos).title(getstring(r.string.devicepos))                     .icon(bitmapdescriptorfactory.defaultmarker(bitmapdescriptorfactory.hue_azure)));             telephonem = devicemap.addmarker(new markeroptions().position(telephonepos).title(getstring(r.string.telephonepos))                     .icon(bitmapdescriptorfactory.defaultmarker(bitmapdescriptorfactory.hue_orange)));         }          updatedevicemarker();         devicemap.getuisettings().setmylocationbuttonenabled(true);         devicemap.getuisettings().setzoomgesturesenabled(true);         devicemap.getuisettings().setzoomcontrolsenabled(true);         devicemap.getuisettings().setcompassenabled(true);         devicemap.getuisettings().setallgesturesenabled(true);         devicemap.movecamera(cameraupdatefactory.newlatlngzoom(devicem.getposition(), 1f));     } } 

i tried doing this:

 telephonem = devicemap.addmarker(new markeroptions().position(telephonepos).title(getstring(r.string.telephonepos).icon(bitmapdescriptorfactory.fromresource(r.drawable.temp_bts_icon)); 

i'm sharing code markers, working fine on android marshmallow.

from resouces:

map.addmarker(new markeroptions().position(latlng).icon(bitmapdescriptorfactory.                 fromresource(r.drawable.xyz))); 

from bitmap:

bitmap markerbitmap = bitmap.createbitmap(px, px, bitmap.config.argb_8888); canvas canvas = new canvas(markerbitmap); drawable shape = resourcescompat.getdrawable(getresources(), r.drawable.xyz, null); shape.setbounds(0, 0, markerbitmap.getwidth(), markerbitmap.getheight()); shape.draw(canvas);  map.addmarker(new markeroptions().position(newlatlng(lastlocation.getlatitude(),              lastlocation.getlongitude())).icon(bitmapdescriptorfactory.frombitmap(markerbitmap))); 

Comments