我在一個教程後創建了一個測試項目,並且工作正常。現在我重新安裝了我的操作系統並安裝了最新版本的android studio。CameraUpdateFactory未初始化
java.lang.NullPointerException: CameraUpdateFactory is not initialized
我的清單:
<uses-feature
android:glEsVersion="0x00020000"
android:required="true"/>
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<meta-data
android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version" />
<meta-data
android:name="com.google.android.geo.API_KEY"
android:value="........."/>
,在這裏我的片段:
public class ZooMapFragment extends SupportMapFragment {
public static ZooMapFragment getInstance() {
ZooMapFragment fragment = new ZooMapFragment();
return fragment;
}
@Override
public void onViewCreated(View view, Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
CameraPosition position = CameraPosition.builder()
.target(new LatLng(39.7500, -104.9500))
.zoom(16f)
.bearing(0.0f)
.tilt(0.0f)
.build();
getMap().animateCamera(CameraUpdateFactory.newCameraPosition(position), null);
getMap().setMapType(GoogleMap.MAP_TYPE_HYBRID);
getMap().setTrafficEnabled(true);
getMap().getUiSettings().setZoomControlsEnabled(true);
MarkerOptions options = new MarkerOptions().position(new LatLng(39.7500, -104.9500));
options.title("ZoO");
options.icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_ORANGE));
getMap().addMarker(options);
getMap().setOnMarkerClickListener(new GoogleMap.OnMarkerClickListener() {
@Override
public boolean onMarkerClick(Marker marker) {
marker.showInfoWindow();
return true;
}
});
RestAdapter adapter = new RestAdapter.Builder()
.setEndpoint(getString(R.string.pins_feed))
.build();
PinsApiInterface pinsApiInterface = adapter.create(PinsApiInterface.class);
pinsApiInterface.getStreams(new Callback<List<Pin>>() {
@Override
public void success(List<Pin> pins, Response response) {
if (pins == null || pins.isEmpty() || !isAdded())
return;
for (Pin pin : pins) {
Log.e("Zoo", pin.getName());
MarkerOptions options = new MarkerOptions().position(new LatLng(pin.getLatitude(), pin.getLongitude()));
options.title(pin.getName());
options.icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_GREEN));
getMap().addMarker(options);
}
}
@Override
public void failure(RetrofitError error) {
Log.e("Log", "Retrofit error: " + error.getMessage());
}
});
}
}
我的問題是:
現在,我創建了谷歌地圖時,得到了以下錯誤
爲什麼我的應用程序失敗?這個版本有什麼不同?
我不認爲你做了,但只是爲了安全起見,你沒有在模擬器中運行它,因爲它不起作用 –
我在genymotion中運行這個,之前還有 – BrunoRamalho
如果您有可用的設備,我強烈建議您使用該設備,因爲它可能不適用於仿真器! –