Изменить изображение маркера на URI - PullRequest
0 голосов
/ 09 мая 2020

Таким образом, все изображения профиля пользователей хранятся в хранилище firebase, и когда я создаю маркер на картах Google, я хочу, чтобы все мои Uri отображались вместо этого значка по умолчанию, который я использую в данный момент, но я попытался делать разные вещи, такие как Bitmap bitmap = MediaStore.Images.Media.getBitmap(this.getContentResolver(), download);, но не может заставить его работать, есть ли другой способ?

Код

/**
 * Rendering of the individual ClusterItems
 * @param item
 * @param markerOptions
 */
@Override
protected void onBeforeClusterItemRendered(ClusterMarker item, MarkerOptions markerOptions) {
    StorageReference pb_storage = FirebaseStorage.getInstance().getReference();
    final StorageReference pb_store_ref = pb_storage.child("images/" + item.getUser() + "/profil/mountains.jpg");
    Log.d(TAG, "MyClusterManagerRendere: "+pb_store_ref);
    pb_store_ref.getDownloadUrl().addOnSuccessListener(new OnSuccessListener<Uri>() {
        @Override
        public void onSuccess(Uri uri) {
            final Uri download = uri;
            Log.d(TAG, "download: "  +  download);
        }
    });


    //This is my old, and I have to change icon to URI
    imageView.setImageResource(item.getIconPicture());
    Bitmap icon = iconGenerator.makeIcon();
    markerOptions.icon(BitmapDescriptorFactory.fromBitmap(icon)).title(item.getTitle());
    markerOptions.snippet(item.getSnippet());
}

EDIT

Тоже пробовал, и не получается:

        try {
            if (Build.VERSION.SDK_INT < 28) {
                Bitmap bm = MediaStore.Images.Media.getBitmap(cR, download);

            }else {
                ImageDecoder.Source source = ImageDecoder.createSource(cR, download);
                Bitmap bm = ImageDecoder.decodeBitmap(source);
            }
        } catch (IOException e) {
            Log.d(TAG, "onBeforeClusterItemRendered: " + e.getMessage());
        }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...