java.lang.NullPointerException:CameraUpdateFactory未初始化logcat异常

use*_*061 10 android android-fragments google-play-services

我正在使用Google地图.我能够成功创建并显示Google地图.现在我想补充一下CameraUpdate(latitude, longitude).我用谷歌搜索,我找到了一些源代码,但我得到了一个NullPointerException.

LogCat错误消息是:

java.lang.NullPointerException: CameraUpdateFactory is not initialized
Run Code Online (Sandbox Code Playgroud)

这是我的来源.我究竟做错了什么?

public class StradaContact extends Fragment {

public final static String TAG = StradaContact.class.getSimpleName();
private MapView mMapView;
private GoogleMap mMap;
private Bundle mBundle;
double longitude = 44.79299800000001, latitude = 41.709981;

public StradaContact() {

}

public static StradaContact newInstance() {
    return new StradaContact();
}

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
        Bundle savedInstanceState) {

    View rootView = inflater.inflate(R.layout.strada_contact, container,false);

    mMapView = (MapView) rootView.findViewById(R.id.pointMap);

    mMapView.onCreate(mBundle);
    setUpMapIfNeeded(rootView);

    return rootView;
}

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    mBundle = savedInstanceState;
}

private void setUpMapIfNeeded(View inflatedView) {
    if (mMap == null) {
        mMap = ((MapView) inflatedView.findViewById(R.id.pointMap)).getMap();
        if (mMap != null) {
            CameraUpdate center = CameraUpdateFactory.newLatLng(new LatLng(latitude, longitude));
            CameraUpdate zoom = CameraUpdateFactory.zoomTo(15);
            mMap.moveCamera(center);
            mMap.animateCamera(zoom);
        }
    }
}

@Override
public void onResume() {
    super.onResume();
    mMapView.onResume();
}

@Override
public void onPause() {
    super.onPause();
    mMapView.onPause();
}

@Override
public void onDestroy() {
    mMapView.onDestroy();
    super.onDestroy();
}
Run Code Online (Sandbox Code Playgroud)

}

<com.google.android.gms.maps.MapView
        android:id="@+id/pointMap"
        android:name="com.google.android.gms.maps.MapFragment"
        android:layout_width="match_parent"
        android:layout_height="match_parent"

        class="com.google.android.gms.maps.MapFragment" />
Run Code Online (Sandbox Code Playgroud)

Eli*_*eth 19

在"onCreate"中试试这个:

try {
 MapsInitializer.initialize(this);
} catch (GooglePlayServicesNotAvailableException e) {
 e.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud)


Sun*_*hoo 6

尝试使用以下方法初始化google map api,然后再使用

MapsInitializer.initialize(getActivity());
Run Code Online (Sandbox Code Playgroud)