AnimatedVectorDrawable как маркер карты - PullRequest
0 голосов
/ 15 мая 2018

Я хочу использовать animatedvectordrawable, поскольку маркер карты есть способ сделать это. я использую класс BitmapDescriptorFactory для преобразования VectorDrawabele в растровое изображение, и он работает нормально, но когда я иду к преобразованию AnimatedVectorDrawable, он ничего не показывает на карте

   .
   .
   .
    MarkerOptions marker1 = new MarkerOptions();
    marker1.icon( getBitmapDescriptor(R.drawable.setpickuplocationdrawable));
    marker1.position(pickuplatlng);
    marker1.title("Marker at place1");
    googleMap.addMarker(marker1);
  }




private BitmapDescriptor getBitmapDescriptor(int id) {
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
        AnimatedVectorDrawable vectorDrawable = (AnimatedVectorDrawable) getDrawable(id);

        int h = vectorDrawable.getIntrinsicHeight();
        int w = vectorDrawable.getIntrinsicWidth();

        vectorDrawable.setBounds(0, 0, w, h);

        Bitmap bm = Bitmap.createBitmap(w, h, Bitmap.Config.ARGB_8888);
        Canvas canvas = new Canvas(bm);
        vectorDrawable.draw(canvas);

        return BitmapDescriptorFactory.fromBitmap(bm);

    } else {
        return BitmapDescriptorFactory.fromResource(id);
    }
}

1 Ответ

0 голосов
/ 30 января 2019

Вы не можете этого сделать.Чтобы добавить изображение на карту в качестве маркера, вам понадобится растровое изображение (предпочтительно png).Что вы можете сделать, это преобразовать вектор в растровое изображение и повторить попытку.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...