Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/208.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/google-maps/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 从MapFragment获取Google地图时出现NullPointerException_Android_Google Maps_Nullpointerexception_Mapfragment - Fatal编程技术网

Android 从MapFragment获取Google地图时出现NullPointerException

Android 从MapFragment获取Google地图时出现NullPointerException,android,google-maps,nullpointerexception,mapfragment,Android,Google Maps,Nullpointerexception,Mapfragment,获取android谷歌地图时出现空指针异常错误在哪里 MapActivity.java: @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_map); map = ((MapFragment) getFragmentManager().findFragmen

获取android谷歌地图时出现空指针异常错误在哪里

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"/>

使用
SupportMapFragment
而不是
MapFragment
如:

map = ((SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map1)).getMap(); 

您只需通过

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"

您可以在LogCat中看到行号。。所以你告诉我…把你的日志贴上去。您的活动是以活动扩展还是以片段活动扩展??