title: java.lang.NullPointerException GoogleMaps V2
body: <p>i just learning about android programming to show map.
  but when i run this code ,there's some error. Can anybody explain why this error occurs? And what I can do to fix this problem? thank you very much. </p>
  
  <p>Stacktrace:</p>
  
  <pre><code>12-01 02:58:27.324: E/AndroidRuntime(1360): FATAL EXCEPTION: main
  12-01 02:58:27.324: E/AndroidRuntime(1360): java.lang.NullPointerException
  12-01 02:58:27.324: E/AndroidRuntime(1360):     at android.app.Instrumentation.execStartActivity(Instrumentation.java:1417)
  12-01 02:58:27.324: E/AndroidRuntime(1360):     at android.app.Activity.startActivityForResult(Activity.java:3390)
  12-01 02:58:27.324: E/AndroidRuntime(1360):     at android.app.Activity.startActivityForResult(Activity.java:3351)
  12-01 02:58:27.324: E/AndroidRuntime(1360):     at android.support.v4.app.FragmentActivity.startActivityForResult(FragmentActivity.java:839)
  12-01 02:58:27.324: E/AndroidRuntime(1360):     at android.app.Activity.startActivity(Activity.java:3587)
  12-01 02:58:27.324: E/AndroidRuntime(1360):     at android.app.Activity.startActivity(Activity.java:3555)
  12-01 02:58:27.324: E/AndroidRuntime(1360):     at com.google.android.gms.dynamic.a$5.onClick(Unknown Source)
  12-01 02:58:27.324: E/AndroidRuntime(1360):     at android.view.View.performClick(View.java:4240)
  12-01 02:58:27.324: E/AndroidRuntime(1360):     at android.view.View$PerformClick.run(View.java:17721)
  12-01 02:58:27.324: E/AndroidRuntime(1360):     at android.os.Handler.handleCallback(Handler.java:730)
  12-01 02:58:27.324: E/AndroidRuntime(1360):     at android.os.Handler.dispatchMessage(Handler.java:92)
  12-01 02:58:27.324: E/AndroidRuntime(1360):     at android.os.Looper.loop(Looper.java:137)
  12-01 02:58:27.324: E/AndroidRuntime(1360):     at android.app.ActivityThread.main(ActivityThread.java:5103)
  12-01 02:58:27.324: E/AndroidRuntime(1360):     at java.lang.reflect.Method.invokeNative(Native Method)
  12-01 02:58:27.324: E/AndroidRuntime(1360):     at java.lang.reflect.Method.invoke(Method.java:525)
  12-01 02:58:27.324: E/AndroidRuntime(1360):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737)
  12-01 02:58:27.324: E/AndroidRuntime(1360):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
  12-01 02:58:27.324: E/AndroidRuntime(1360):     at dalvik.system.NativeStart.main(Native Method)
  12-01 02:58:29.088: I/Process(1360): Sending signal. PID: 1360 SIG: 9
  </code></pre>
  
  <p>MainActivity.java </p>
  
  <pre><code>package unai.skripsi.mymaps;
  
  import com.google.android.gms.maps.CameraUpdateFactory;
  import com.google.android.gms.maps.GoogleMap;
  import com.google.android.gms.maps.SupportMapFragment;
  import com.google.android.gms.maps.model.BitmapDescriptorFactory;
  import com.google.android.gms.maps.model.LatLng;
  import com.google.android.gms.maps.model.Marker;
  import com.google.android.gms.maps.model.MarkerOptions;
  
  import android.os.Bundle;
  import android.support.v4.app.FragmentActivity;
  import android.view.Menu;
  
  public class MainActivity extends FragmentActivity {
  
      static final LatLng RAGUNAN = new LatLng(-6.3039, 106.8267);
      static final LatLng TAMANMINI = new LatLng(-6.29436, 106.8859);
      private GoogleMap map;
  
  @Override
  protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.activity_main);
      map= ((SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map)).getMap();
      if (map!=null){
      Marker ragunan = map.addMarker(new MarkerOptions().position(RAGUNAN)
          .title("Ragunan"));
      Marker tamanmini = map.addMarker(new MarkerOptions().position(TAMANMINI)
          .title("Taman mini")
          .snippet("Taman mini itu indah")
          .icon(BitmapDescriptorFactory.fromResource(R.drawable.ic_launcher)));
  
      map.moveCamera(CameraUpdateFactory.newLatLngZoom(RAGUNAN, 15));
      map.animateCamera(CameraUpdateFactory.zoomTo(10), 2000, null);
  
      }
  }
  
  
  @Override
  public boolean onCreateOptionsMenu(Menu menu) {
      // Inflate the menu; this adds items to the action bar if it is present.
      getMenuInflater().inflate(R.menu.main, menu);
      return true;
  }
  
   }
  </code></pre>
  
  <p>Layout</p>
  
  <pre><code>&lt;RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
  xmlns:tools="http://schemas.android.com/tools"
  android:layout_width="match_parent"
  android:layout_height="match_parent"
  tools:context=".MainActivity" &gt;
  
  &lt;fragment
      android:id="@+id/map"
      android:layout_width="match_parent"
      android:layout_height="match_parent"
      android:name="com.google.android.gms.maps.SupportMapFragment" /&gt;
  
  &lt;/RelativeLayout&gt;
  </code></pre>
  
  <p>Manifest</p>
  
  <pre><code>&lt;?xml version="1.0" encoding="utf-8"?&gt;
  &lt;manifest xmlns:android="http://schemas.android.com/apk/res/android"
  package="unai.skripsi.mymaps"
  android:versionCode="1"
  android:versionName="1.0" &gt;
  
  &lt;uses-sdk
      android:minSdkVersion="8"
      android:targetSdkVersion="17" /&gt;
  
  &lt;permission
      android:name="unai.skripsi.mymaps.permission.MAPS_RECEIVE"
      android:protectionLevel="signature" /&gt;
  
  &lt;uses-feature
      android:glEsVersion="0x00020000"
      android:required="true" /&gt;
  
  &lt;uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/&gt;
  &lt;uses-permission android:name="unai.skripsi.mymaps.permission.MAPS_RECEIVE" /&gt;
  &lt;uses-permission android:name="android.permission.INTERNET" /&gt;
  &lt;uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /&gt;
  &lt;uses-permission   android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" /&gt;
  &lt;uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /&gt;
  &lt;uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /&gt;
  
  &lt;application
      android:allowBackup="true"
      android:icon="@drawable/ic_launcher"
      android:label="@string/app_name"
      android:theme="@style/AppTheme" &gt;
      &lt;activity
          android:name="unai.skripsi.mymaps.MainActivity"
          android:label="@string/app_name" &gt;
          &lt;intent-filter&gt;
              &lt;action android:name="android.intent.action.MAIN" /&gt;
  
              &lt;category android:name="android.intent.category.LAUNCHER" /&gt;
          &lt;/intent-filter&gt;
      &lt;/activity&gt;
      &lt;meta-data android:name="com.google.android.gms.version" 
          android:value="@integer/google_play_services_version" /&gt;
      &lt;meta-data
          android:name="com.google.android.maps.v2.API_KEY"
          android:value="My API KEY" /&gt;
  &lt;/application&gt;
  
  &lt;/manifest&gt;
  </code></pre>