Mi solución alternativa: utilice la nueva interfaz de instantáneas de GoogleMap y muestre una instantánea del mapa mientras se desplaza por la página.
Aquí está mi código para configurar la instantánea (está en el mismo fragmento que el mapa, llamado FragmentMap.java):
public void setSnapshot(int visibility) {
switch(visibility) {
case View.GONE:
if(mapFragment.getView().getVisibility() == View.VISIBLE) {
getMap().snapshot(new SnapshotReadyCallback() {
@Override
public void onSnapshotReady(Bitmap arg0) {
iv.setImageBitmap(arg0);
}
});
iv.setVisibility(View.VISIBLE);
mapFragment.getView().setVisibility(View.GONE);
}
break;
case View.VISIBLE:
if(mapFragment.getView().getVisibility() == View.GONE) {
mapFragment.getView().setVisibility(View.VISIBLE);
iv.setVisibility(View.GONE);
}
break;
}
}
Donde "mapFragment" es mi SupportedMapFragment y "iv" es un ImageView (hágalo match_parent).
Y aquí estoy controlando el pergamino:
pager.setOnPageChangeListener(new OnPageChangeListener() {
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
if(position == 0 && positionOffsetPixels > 0 || position == 1 && positionOffsetPixels > 0) {
((FragmentMap)adapter.getRegisteredFragment(1)).setSnapshot(View.GONE);
} else if(position == 1 && positionOffsetPixels == 0) {
((FragmentMap)adapter.getRegisteredFragment(1)).setSnapshot(View.VISIBLE);
}
}
@Override
public void onPageScrollStateChanged(int arg0) {}
@Override
public void onPageSelected(int arg0) {}
});
Mi fragmento con mapa (FragmentMap) está en la posición 1, por lo que necesito controlar el desplazamiento desde la posición 0 a 1 y desde la posición 1 a 2 (la primera cláusula if). "getRegisteredFragment ()" es una función en mi FragmentPagerAdapter personalizado, en el que tengo un SparseArray (Fragmento) llamado "isteredFragments ".
Por lo tanto, cada vez que se desplaza hacia o desde su mapa, siempre ve una instantánea del mismo. Este trabajo es muy bueno para mi.
GoogleMap
objeto delViewPager
? Atascado en esto durante semanas. Si no entendió bien la pregunta, busque mi pregunta, encontrará mi publicación. Por favor responde.screen record
problema, el problema no parece suceder.