我在 Google Play 报告的应用中收到以下错误:
...
Caused by: java.lang.NullPointerException: CameraUpdateFactory is not initialized
at com.google.android.gms.internal.x.b(Unknown Source)
at com.google.android.gms.maps.CameraUpdateFactory.aE(Unknown Source)
at com.google.android.gms.maps.CameraUpdateFactory.newCameraPosition(Unknown Source)
at com.foo.DetailActivity.onCreate(DetailActivity.java:144)
我已经读过这样的帖子。我在DetailActivity
(扩展 FragmentActivity)中的代码如下:
try {
MapsInitializer.initialize(this);
} catch (GooglePlayServicesNotAvailableException e) {
Log.e("map", " " + e.getMessage());
}
SharedPreferences settings = getPreferences(0);
CameraPosition cameraPosition = new CameraPosition.Builder()
.target(new LatLng(settings.getFloat("lat", -28.709861f), settings.getFloat("lon", 26.015625f)))
.zoom(settings.contains("lat") ? 11 : 6)
.build();
CameraUpdate cu = CameraUpdateFactory.newCameraPosition(cameraPosition); //line 144
我不确定它是如何仍未初始化的。在我的代码中,我还没有创建 MapFragment。不过,我认为在创建 MapFragment 之后不需要这样做,因为我没有从 MapFragment 调用任何内容。
任何想法为什么这不起作用?