Laden Android-Google Map-fragment verwaltet von ViewPager

Kann ich laden Sie eine google-Karte in ein Android-fragment, das innerhalb einer Aktivität. Das hat gut funktioniert.

Aber jetzt will ich mit ViewPager zum navigieren zwischen Ansichten (Klasse android.support.v4.app.Fragment). Es scheint nicht möglich zu laden com.google.android.gms.maps.MapFragment in solchen fragment.

Beispielsweise 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));
    }

}

Die Aussage

getFragmentManager().findFragmentById(R.id.holeViewMap);

verursacht einen compiler-Fehler (unverträgliche Typen).

Habe ich versucht, SupportMapFragment statt, die eliminiert der compiler-Fehler, aber dann wenn ich die app starte, es bricht sofort mit der Meldung "I/O Error: Connection refused". Die Google docs scheinen zu zeigen, dass Sie eine spezielle "Für die Arbeit" - Konto verwenden Sie die Support library. Ist das richtig? Wenn dem so ist, ich denke, ich bin das Glück.

Die einzige weitere Weise kann ich sehen, es zu tun, ist die Verwendung von Aktivitäten anstelle von Fragmenten, die als host für meine Ansichten, D. H., loszuwerden, die ViewPager.

Irgendwelche Vorschläge?

  • versuchen Sie dies: stackoverflow.com/questions/19353255/...
  • Connection refused: haben Sie Google Maps API-key im manifest?
  • Ich denke, dass meine "connection refused" problem wurde nicht verwandten-wahrscheinlich mit einem update für die SDK, benötigt ein shutdown/Neustart. Um Ihre Frage zu beantworten, ja, ich hatte mein manifest (mit Schlüssel) gearbeitet hatte zuvor.
InformationsquelleAutor NLRicker | 2015-04-30
Schreibe einen Kommentar