2013-08-14 3 views
0

Я хочу, чтобы сделать снимок моей карты:Android Google Maps SnapshotReadyCallback ошибка

SnapshotReadyCallback callback = new SnapshotReadyCallback() { 
    Bitmap bitmap; 
    @Override 
    public void onSnapshotReady(Bitmap snapshot) { 
     // TODO Auto-generated method stub 
     bitmap = snapshot; 
    } 
}; 

map.snapshot(callback); 

Но это дает мне эту ошибку:

width and height must be > 0

+0

попытайтесь дать высоту и ширину для растрового объекта. – Piyush

+0

нормально, но как я должен это делать? – David

+0

Когда вы называете 'GoogleMap.snapshot'? –

ответ

1

Вы делаете ошибку, называя snapshot слишком рано. Прежде чем все View s выложены, они имеют размер 0 на 0.

Лучше всего использовать эту функцию при действии пользователей, например. в некотором ButtononClick.

Если вам это нужно после отображения карты, вы можете попробовать ViewTreeObserver. Проверьте этот ответ: https://stackoverflow.com/a/7735122/2183804.

+0

ОК, я сделал это для прослушивателя кнопок. если я запустил его, он ничего не делает, я думаю, или я не знаю, где это сохранить изображение ... – David

+0

@David Bitmap возвращается вам через параметр «Растровый снимок». Самый простой способ проверить, работает ли это, например, устанавливая фон 'Button' для этого« Bitmap ». –

+0

ОК, я сделал это спасибо! – David

Смежные вопросы