У меня есть один тестовый проект, созданный после одного учебника и работающий правильно. Теперь я переустановил мой os и установил последнюю версию Android-студии.
А теперь я получил следующее сообщение об ошибке при создании карты Google: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
Если у вас есть доступное устройство, я настоятельно рекомендую вам использовать его, потому что он может не работать с эмуляторами! –