Java 谷歌地图Android API v2没有';设置更改时,不显示地图

Java 谷歌地图Android API v2没有';设置更改时,不显示地图,java,android,google-maps,google-maps-android-api-2,Java,Android,Google Maps,Google Maps Android Api 2,谷歌地图Android API v2在更改设置时不显示地图 ex:当用户选择“我的位置”按钮时,贴图将设置为用户当前位置的动画,但不会渲染贴图。 public class MapView extends android.support.v4.app.FragmentActivity { private GoogleMap mMap; private UiSettings mUiSettings; @Override public void onCreate(

谷歌地图Android API v2在更改设置时不显示地图

ex:当用户选择“我的位置”按钮时,贴图将设置为用户当前位置的动画,但不会渲染贴图。

public class MapView extends android.support.v4.app.FragmentActivity {

    private GoogleMap mMap;
    private UiSettings mUiSettings;


    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        setContentView(R.layout.map_view);

        setUpMapIfNeeded();
    }

    private void setUpMapIfNeeded() {
        // Do a null check to confirm that we have not already instantiated the map.
        if (mMap == null) {
            // Try to obtain the map from the SupportMapFragment.
            mMap = ((SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.googleMap))
                    .getMap();
            // Check if we were successful in obtaining the map.
            if (mMap != null) {
                setUpMap();
            }
        }
    }

    private void setUpMap() {

        mMap.setMyLocationEnabled(true);

        mUiSettings = mMap.getUiSettings();

        mUiSettings.setZoomControlsEnabled(true);
        mUiSettings.setMyLocationButtonEnabled(true);
        mUiSettings.setCompassEnabled(true);
    }
}

** 布局/地图视图 **


您错过了OnCreate()下的一段重要代码,如下所示。 添加以下代码

@Override
protected void onResume() {
    super.onResume();
    setUpMapIfNeeded();
}
您的代码必须是这样的

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    setContentView(R.layout.map_view);

    setUpMapIfNeeded();
}

@Override
protected void onResume() {
    super.onResume();
    setUpMapIfNeeded();
}

private void setUpMapIfNeeded() {
    // Do a null check to confirm that we have not already instantiated the map.
    if (mMap == null) {
        // Try to obtain the map from the SupportMapFragment.
        mMap = ((SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.googleMap))
                .getMap();
        // Check if we were successful in obtaining the map.
        if (mMap != null) {
            setUpMap();
        }
    }
}

private void setUpMap() {...

祝你好运…

你错过了OnCreate()下的一段重要代码,如下所示。 添加以下代码

@Override
protected void onResume() {
    super.onResume();
    setUpMapIfNeeded();
}
您的代码必须是这样的

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    setContentView(R.layout.map_view);

    setUpMapIfNeeded();
}

@Override
protected void onResume() {
    super.onResume();
    setUpMapIfNeeded();
}

private void setUpMapIfNeeded() {
    // Do a null check to confirm that we have not already instantiated the map.
    if (mMap == null) {
        // Try to obtain the map from the SupportMapFragment.
        mMap = ((SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.googleMap))
                .getMap();
        // Check if we were successful in obtaining the map.
        if (mMap != null) {
            setUpMap();
        }
    }
}

private void setUpMap() {...

祝你好运…

地图是在你打开应用程序时出现,然后在移动时消失,还是根本不出现?当我移动它时,地图会出现并消失,但不会刷新。你用什么来更新你的位置?位置侦听器?还是别的什么?明天早上我会仔细看看,到目前为止,这似乎很奇怪。同时,确保您已经阅读了dev指南中关于如何做到这一点的内容。我知道我第一次尝试a时犯了几个错误:谢谢你的帮助,这都是你的代码吗?我这么说是因为这看起来是对的。如果您最初能够获得地图,则意味着您正确设置了地图。你看过谷歌地图示例应用程序吗?它提供了一些关于如何使用地图、在地图上移动和更改选项的非常好的示例。在代码中看不到任何其他内容的情况下,我会说,看看SDK文件中的示例应用程序。有关如何设置的说明如下所示。这有助于我加载。地图是在你打开应用程序时出现,然后在你移动时消失,还是根本不出现?地图在我移动时出现并消失,不会刷新。你用什么来更新你的位置?位置侦听器?还是别的什么?明天早上我会仔细看看,到目前为止,这似乎很奇怪。同时,确保您已经阅读了dev指南中关于如何做到这一点的内容。我知道我第一次尝试a时犯了几个错误:谢谢你的帮助,这都是你的代码吗?我这么说是因为这看起来是对的。如果您最初能够获得地图,则意味着您正确设置了地图。你看过谷歌地图示例应用程序吗?它提供了一些关于如何使用地图、在地图上移动和更改选项的非常好的示例。在代码中看不到任何其他内容的情况下,我会说,看看SDK文件中的示例应用程序。有关如何设置的说明如下所示。这对我很有帮助。