Android 4.2 でこの問題に遭遇しました。私は 3 つのデバイスを持っており、1 つには 4.1.1 があり、2 つには 4.2 があります。4.1 の電話では、getSupportFragmentManager().getMap() が地図を返し、それを見ることができ、自分の場所などを見つけることができます。しかし、別の 2 つでは null を返します。
マップ設定に関する私のコードは次のとおりです。
mMap = ((SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map)).getMap();
mMap.setMyLocationEnabled(true);
mMap.getUiSettings().setMyLocationButtonEnabled(false);
mMap.setOnMyLocationChangeListener(this);
4.2 では、最後の 3 行のそれぞれが NullPointerException をスローします。4.1では、それらすべてが機能します。
なぜそれが起こるのか、私は見つけることができません。
PS: Google マップは 4.2 でうまく動作します。また、「現在地」ボタンも機能します。PS2: [位置情報にアクセス] の設定で、[GPS サテライト] と [Wi-Fi & モバイル ネットワークの位置情報] がオンになっています。