@Lukas Câu trả lời Novak không hiển thị bất kỳ điều gì vì bạn cũng phải đặt các giới hạn trên Drawable
.
Điều này phù hợp với bất kỳ đối tượng nào có thể kéo. Dưới đây là một ví dụ làm việc đầy đủ:
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>
làm 'BitmapDescriptor icon = BitmapDescriptorFactory.fromResource (R.drawable.current_position_tennis_ball)' và sau đó op. biểu tượng (biểu tượng); –
Mr.Babar thanx for Your Answer của nó tốt và làm việc cho tôi ... U đăng nó như là một câu trả lời và tôi sẽ chấp nhận nó ... Thanx Một lần nữa. – NRahman
@MuhammadBabar chúng ta có thể vượt qua hình ảnh ở tiêu đề – Amitsharma