2016-02-05 103 views
-1
public class MainActivity extends AppCompatActivity implements OnMapReadyCallback { 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     MapFragment mapFragment = (MapFragment)getFragmentManager().findFragmentById(R.id.googleMap); 
     mapFragment.getMapAsync(this); // line 22 
    } 


    @Override 
    public void onMapReady(GoogleMap googleMap) { 
     googleMap.addMarker(new MarkerOptions().position(new LatLng(25.4607640, 78.6432520)).title("Gaurav Joshi")); 

    } 
} 

这里是我正努力在Android Studio来实现基本的代码,但它显示空指针异常:为什么此映射代码会给出空指针异常?

Caused by: java.lang.NullPointerException at com.example.hp.g_1.MainActivity.onCreate(MainActivity.java:22) 
+3

请添加例外的堆栈跟踪 – mbelsky

+1

可能会是您的googleMap变量。我没有看到它在任何地方初始化。 – Fustigador

+0

@Fustigador'googleMap'是方法的参数 – mbelsky

回答

0

一个解决您的问题将被宣告你的GoogleMap的变量在类的,然后,在onMapReady里面:

this.googleMap=googleMap; 
2

请检查您是否在布局文件activity_main.xml中定义了MapFragment。它看起来像FragmentManager无法找到一个地图片段和抛出NPE在这里:mapFragment.getMapAsync(this);,因为mapFragment为空

+0

+0

这就是main.xml包含的内容 –

+0

@GauravJoshi它看起来很奇怪。尝试使用本教程:https://developers.google.com/maps/documentation/android-api/map在您的应用中添加地图 – mbelsky

0

我认为“谷歌地图”id应该是片段容器的ID,而不是片段本身。

相关问题