@ लुकास नोवाक उत्तर कुछ भी नहीं दिखा रहा है क्योंकि आपको Drawable
पर सीमाएं भी सेट करनी होंगी।
यह किसी भी ड्रॉइंग के लिए काम करता है। यहाँ एक पूरी तरह से काम कर रहे उदाहरण है:
public void drawMarker() {
Drawable circleDrawable = getResources().getDrawable(R.drawable.circle_shape);
BitmapDescriptor markerIcon = getMarkerIconFromDrawable(circleDrawable);
googleMap.addMarker(new MarkerOptions()
.position(new LatLng(41.906991, 12.453360))
.title("My Marker")
.icon(markerIcon)
);
}
private BitmapDescriptor getMarkerIconFromDrawable(Drawable drawable) {
Canvas canvas = new Canvas();
Bitmap bitmap = Bitmap.createBitmap(drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight(), Bitmap.Config.ARGB_8888);
canvas.setBitmap(bitmap);
drawable.setBounds(0, 0, drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight());
drawable.draw(canvas);
return BitmapDescriptorFactory.fromBitmap(bitmap);
}
circle_shape.xml
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="oval">
<size android:width="20dp" android:height="20dp"/>
<solid android:color="#ff00ff"/>
</shape>
क्या 'BitmapDescriptor आइकन = BitmapDescriptorFactory.fromResource (R.drawable.current_position_tennis_ball)' और फिर सेशन। आइकन (आइकन); –
आपके उत्तर के लिए श्रीबाबर थेंक्स यह अच्छा है और मेरे लिए काम किया है ... यू इसे उत्तर के रूप में पोस्ट करें और मैं इसे स्वीकार करूंगा ... Thanx Again। – NRahman
@ मुहम्मदबाबर हम शीर्षक – Amitsharma