0

私はすでにこの問題について多くのトピックを読んでいますが、何も役に立ちませんでした。したがって、SupportMapFragment で GoogleMap を操作したいと考えています。FragmentActivity では、onCreate メソッドでマップを初期化しました

@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();
    }
...

私のMapFragmentのコードはまさにこのように見えます

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

}

getMap メソッドで null を取得するたびに...アイデアはありますか?

€同上:

<?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" />
4

1 に答える 1