Posso caricare una mappa di google in un frammento Android all'interno di un'attività. Questo ha funzionato bene.Caricamento frammento Android di Google Maps gestito da ViewPager
Ma ora desidero utilizzare ViewPager per navigare tra le visualizzazioni (classe android.support.v4.app.Fragment
). Non sembra possibile caricare un com.google.android.gms.maps.MapFragment
in un tale frammento.
Per esempio, in:
SoleMap.java
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import com.google.android.gms.maps.CameraUpdateFactory;
import com.google.android.gms.maps.GoogleMap;
import com.google.android.gms.maps.MapFragment;
import com.google.android.gms.maps.OnMapReadyCallback;
import com.google.android.gms.maps.model.LatLng;
public class SoleMap extends Fragment implements OnMapReadyCallback {
MapFragment gMapFragment;
GoogleMap gMap = null;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.sole_map, container, false);
gMapFragment = (MapFragment) getFragmentManager().findFragmentById(R.id.soleViewMap);
gMapFragment.getMapAsync(this);
return view;
}
@Override
public void onMapReady(GoogleMap map) {
gMap = map;
gMap.setMapType(GoogleMap.MAP_TYPE_HYBRID);
gMap.moveCamera(CameraUpdateFactory.newLatLngZoom(new
LatLng(49.39,-124.83), 20));
}
}
La dichiarazione
getFragmentManager().findFragmentById(R.id.holeViewMap);
causa un errore di compilazione (tipi incompatibili).
Ho provato a utilizzare SupportMapFragment, che elimina gli errori del compilatore, ma quando eseguo l'app, si chiude immediatamente con il messaggio "Errore I/O: connessione rifiutata". I documenti Google sembrano indicare che è necessario un account speciale "For Work" per utilizzare la libreria di supporto. È corretto? Se è così, immagino di essere sfortunato.
L'unico altro modo che posso vedere per farlo è utilizzare le attività anziché i frammenti per ospitare le mie visualizzazioni, ad esempio, eliminare il ViewPager.
Qualche suggerimento?
provare questo: http://stackoverflow.com/questions/19353255/how-to-put-google-maps-v2-on-a -fragment-using-viewpager – Josef
Connessione rifiutata: hai la chiave dell'API di Google Maps nel manifest? –
Penso che il mio problema di "connessione rifiutata" non fosse correlato - probabilmente con un aggiornamento all'SDK che necessitava di un arresto/riavvio. Per rispondere alla tua domanda, sì, ho avuto il mio manifest (con chiave) che aveva funzionato in precedenza. – NLRicker