Обновлять положение и изображение маркера на RealTime в java андроиде - PullRequest
0 голосов
/ 06 апреля 2019

Посмотрите пожалуйста на функцию setUpdateMarker. Моя цель - обновить положение и изображение маркера в RealTime. Например, если у меня есть два маркера, но я вижу только одно изображение, которое меняется между двумя маркерами. Я хочу увидеть два изображения. Кажется, что проблема находится во внутреннем классе DownloadImageTask, потому что он выглядит как статический класс. Как я могу это исправить?

public class MyClusterManagerRenderer extends DefaultClusterRenderer<ClusterMarker> { .............. .............

    /**
     * Update the GPS coordinate of a ClusterItem
     * @param clusterMarker
     */
    public void setUpdateMarker(ClusterMarker clusterMarker) {
        marker = getMarker(clusterMarker);
        if (marker != null) {
            marker.setPosition(clusterMarker.getPosition());
            dit = new DownloadImageTask();
            dit.execute(clusterMarker.getIconPath());
        }
    }
    private class DownloadImageTask extends AsyncTask<String, Void, Bitmap> {
        @Override
        protected Bitmap doInBackground(String... urls) {
            Bitmap mIcon = null;
            try {
                InputStream in = new URL(urls[0]).openStream();
                mIcon = BitmapFactory.decodeStream(in);
            } catch (Exception e) {
                e.printStackTrace();
            }
            return mIcon;
        }
        @Override
        protected void onPostExecute(Bitmap result) {
            if (marker!=null && result != null) {
                Bitmap resizedBitmap = Bitmap.createScaledBitmap(result, markerWidth, markerHeight,
                        false);
                marker.setIcon(BitmapDescriptorFactory.fromBitmap(resizedBitmap));

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