0

私は Android Studio 1.1 と AP1 21 (コースの一部として必要なバージョン) を使用しています。を使用して新しいプロジェクトを作成しますGoogle Maps Activity

自動生成されたコード内で、次のエラー メッセージが表示されます: Error:(48, 21) error: cannot find symbol method getMap()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.map))
                    .getMap();
            // Check if we were successful in obtaining the map.
            if (mMap != null) {
                setUpMap();
            }
        }
    } 

この問題を解決する方法はありますか? ありがとう!

4

1 に答える 1

0

私は同じ方法を使用していましたが、同じエラーが発生しました。そして、OnMapReadyCallback を実装して修正しました。

最初に OnMapReadyCallback を実装します。

public class MapsActivity extends FragmentActivity implements OnMapReadyCallback {
@Override
protected void onCreate(Bundle savedInstanceState) {
    ......
    ....

新しい 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.
        SupportMapFragment mf = (SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map);
        mf.getMapAsync(this);
    }
}

そして、オーバーライドされた onMapReady で setUpMap() を呼び出します。

@Override
public void onMapReady(GoogleMap googleMap) {
    mMap = googleMap;
    setUpMap();
}

setUpMap() メソッドやその他のメソッドに変更はありません。お役に立てば幸いです。

于 2016-11-27T10:02:28.160 に答える