我在 Android 4.2 上遇到过这个问题。我有三台设备,一台有 4.1.1,另外两台有 4.2。在 4.1 手机上 getSupportFragmentManager().getMap() 返回一个地图,我可以看到它,我可以找到我的位置等等。但是在另外两个上它返回null。
这是我的地图设置代码:
mMap = ((SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map)).getMap();
mMap.setMyLocationEnabled(true);
mMap.getUiSettings().setMyLocationButtonEnabled(false);
mMap.setOnMyLocationChangeListener(this);
在 4.2 中,最后三行中的每一行都抛出 NullPointerException。在 4.1 上,它们都可以工作。
我找不到,为什么会这样。
PS:谷歌地图在 4.2 上运行良好。“我的位置”按钮也可以使用。PS2:在“访问我的位置”设置中,“GPS 卫星”和“Wi-Fi 和移动网络位置”已打开。