【问题标题】:How to call getMapAsync() from an activity如何从活动中调用 getMapAsync()
【发布时间】:2016-07-04 22:58:42
【问题描述】:

我试图从一个 Activity 调用 getMapAsync() 但我收到了这个错误:

Error:(109, 14) error: 找不到符号方法getMapAsync(CategoryActivity)

public class CategoryActivity extends Activity implements     View.OnClickListener,OnMapReadyCallback {

protected void onCreate(Bundle savedInstanceState) {
    //requestWindowFeature(Window.FEATURE_NO_TITLE);
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_map);



    MapFragment mapFragment = (MapFragment) getFragmentManager().findFragmentById(R.id.mapContainerLayout);
    mapFragment.getMapAsync(this);
}

【问题讨论】:

    标签: android dictionary


    【解决方案1】:

    尝试使用匿名回调:

    MapFragment mapFragment = (MapFragment) getFragmentManager().findFragmentById(R.id.a_main_maps);
    mapFragment.getMapAsync(new OnMapReadyCallback() {
        @Override
        public void onMapReady(GoogleMap googleMap) {
            Log.d(TAG, "onMapReady: ");
        }
    });
    

    另外,请确保您拥有最新版本的播放服务依赖项 (9.2.0):

    compile 'com.google.android.gms:play-services-maps:9.2.0'
    

    Add Google Play Services to your project

    【讨论】:

    • 我现在得到这个错误 >>Error:(111, 14) error: cannot find symbol method getMapAsync()
    【解决方案2】:

    尝试定义一个实现 OnMapReadyCallback 接口的私有类 并传递该对象。

    【讨论】:

    • 这与 Evin1_ 发布的代码相同,如果您仍然收到该错误,这意味着您的依赖项不正确,请将他发布的行添加到您的 gradle.build 并确保您的目标是最新的SDK 请参阅此了解更多信息/代码stackoverflow.com/questions/27527783/…
    • 谢谢...在我将 sdk 和 idk 更新到最新版本后,它现在可以工作了。
    猜你喜欢
    • 1970-01-01
    • 2011-10-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多