Почему изображение наземного наложения на картах Google выглядит искаженным при уменьшении масштаба или падением, если размер изображения слишком велик? - PullRequest
0 голосов
/ 04 июля 2018

У меня есть этот код внутри onMapReady, который устанавливает широту / долготу вместе с запуском асинхронной задачи подготовки изображения наложения.

public void onMapReady(GoogleMap googleMap) {
    mGoogleMap = googleMap;
    moveToCurrentLocation(mGoogleMap,new LatLng(49.26874005, -123.19854477));
    newarkBounds= new LatLngBounds(
            new LatLng(49.26874005, -123.19854477),       // South west corner
            new LatLng(49.27462099, -123.19069126));      // North east corner*//*
    // Adds a ground overlay with 50% transparency.

   new BitmapWorkerTask().execute();
}

вот код, который готовит изображение и устанавливает его для карт Google.

class BitmapWorkerTask extends AsyncTask<Integer, Void, Bitmap> {
    private int data = 0;

    public BitmapWorkerTask() {
        // Use a WeakReference to ensure the ImageView can be garbage collected

    }

    // Decode image in background.
    @Override
    protected Bitmap doInBackground(Integer... params) {
        imageDescriptor = BitmapDescriptorFactory.fromResource(R.drawable.vfmf_overlay);
        return null;
    }

    // Once complete, see if ImageView is still around and set bitmap.
    @Override
    protected void onPostExecute(Bitmap bitmap) {
        mGoogleMap.addGroundOverlay(new GroundOverlayOptions()
                .image(imageDescriptor)
                .positionFromBounds(newarkBounds));
    }
}

мое текущее изображение составляет 63 КБ, и когда я увеличиваю до максимума, я могу видеть файл изображения, который является .png, совершенно четким, но когда он уменьшен, он выглядит как кусочек бумаги и кусочки этого не хватает. Однако, когда я использую одно и то же изображение, когда оно составляет 332 КБ, приложение вылетает из-за нехватки памяти. Используя этот самый код. Есть идеи, почему это происходит?

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