NullPointerException при получении GoogleMap из MapFragment
Исключение нулевого указателя при получении android google maps где ошибка?
MapActivity.java:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_map);
map = ((MapFragment) getFragmentManager().findFragmentById(R.id.map1))
.getMap();
Marker marker=map.addMarker(new MarkerOptions().position(LOCATION_CITY).title("").visible(true));
marker.setDraggable(true);
}
XML-файл:
<?xml version="1.0" encoding="utf-8"?>
<fragment xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/map1"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:name="com.google.android.gms.maps.MapFragment"/>
2 ответа
Решение
Вы должны просто проверить по
if (map != null) {
Marker marker=map.addMarker(new MarkerOptions().position(LOCATION_CITY).title("").visible(true));
marker.setDraggable(true);
}
Убедитесь, что если ваша минимальная версия SDK < 12, вы должны использовать
android:name="com.google.android.gms.maps.SupportMapFragment"
и если это>=12, то вы должны использовать это
android:name="com.google.android.gms.maps.MapFragment"
Использование SupportMapFragment
вместо MapFragment
лайк:
map = ((SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map1)).getMap();