J'ai déjà lu beaucoup de sujets sur ce problème, mais rien n'a aidé. Je souhaite donc utiliser un GoogleMap dans un SupportMapFragment. Dans le FragmentActivity j'initialisés la carte dans la méthode onCreateandroid (Support) MapFragment getMap() Retour null
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.content_frame);
// Initialize Google Maps Android API
try {
MapsInitializer.initialize(this);
} catch (GooglePlayServicesNotAvailableException e) {
e.printStackTrace();
}
...
le code de ma MapFragment ressemble exactement à ce
public class MapFragment extends SupportMapFragment {
private final String TAG = getClass().getSimpleName();
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
return inflater.inflate(R.layout.map, null);
}
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
}
@Override
public void onViewCreated(View view, Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
GoogleMap gMap = this.getMap();
Log.d(TAG,
"getMap() " + ((gMap == null) ? "null" : gMap.toString()));
// Setting Location and Zoom
gMap.moveCamera(CameraUpdateFactory.newLatLngZoom(new LatLng(
40.76793169992044f, -73.98180484771729f), 14.0f));
}
}
Chaque fois que je reçois nulle avec la méthode getMap ... des idées?
€ dit:
<?xml version="1.0" encoding="utf-8"?>
<fragment xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:map="http://schemas.android.com/apk/res-auto"
android:id="@+id/map"
android:layout_width="match_parent"
android:layout_height="match_parent"
class="com.google.android.gms.maps.SupportMapFragment"
map:cameraBearing="112.5"
map:cameraTargetLat="-33.796923"
map:cameraTargetLng="150.922433"
map:cameraTilt="30"
map:cameraZoom="50"
map:mapType="normal"
map:uiCompass="false"
map:uiRotateGestures="true"
map:uiScrollGestures="false"
map:uiTiltGestures="true"
map:uiZoomControls="false"
map:uiZoomGestures="true" />
est-il une carte dans votre mise en page? – njzk2
Pas directement. J'ai un fichier de configuration de fragment. Voir dans le post édité. – Forke
Avez-vous essayé de déplacer votre code getMap() vers onStart ou onResume? Voir ma réponse http://stackoverflow.com/a/20747717/2364687, bien que cela puisse ne pas s'appliquer dans votre cas. En outre, vous avez certainement installé les services Google Play (vous ne saisissez pas et ignorez l'exception dans onCreate)? – GLee