android - 必需的 com.google.android.gms.GoogleMap 发现无效

标签 android android-mapview android-maps-v2

我在网上寻找解决方案,因为 getMap() 方法已弃用,因此,我想用 getMapAsync(); 替换它。我已经在谷歌和安卓官方文档上搜索过,但我仍然卡住了,请帮忙。

我现在收到一条错误消息,上面写着不兼容的类型 必需的 com.google.android.gms.GoogleMap 发现无效。

public class Maps extends AppCompatActivity implements OnMapReadyCallback {
    private GoogleMap googleMap;

    @Override protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.Maps);

        googleMap = ((SupportMapFragment) getSupportFragmentManager().findFragmentById(
                R.id.mapFragment)).getMapAsync(this);


        LatLng latlong = new LatLng(lat, lon);
        googleMap.addMarker(new MarkerOptions().position(latlong).title(name));
        googleMap.moveCamera(CameraUpdateFactory.newLatLngZoom(latlong, 15));
    }

    @Override
    public void onMapReady(GoogleMap googleMap) {

    }
}

下面的这个方法给出了错误,它说不兼容的类型 必需的 com.google.android.gms.GoogleMap 发现无效。

googleMap = ((SupportMapFragment) getSupportFragmentManager().findFragmentById(
                R.id.mapFragment)).getMapAsync(this);

最佳答案

getMapAsync 的返回类型为 void,而您正在尝试分配它

googleMap = ((SupportMapFragment) getSupportFragmentManager().findFragmentById(
                R.id.mapFragment)).getMapAsync(this);

googleMap。这没有多大意义。仅调用 getMapAsync 之类的

((SupportMapFragment) getSupportFragmentManager().findFragmentById(
                R.id.mapFragment)).getMapAsync(this);

并在调用 onMapReady 时分配 googleMap。例如

@Override
public void onMapReady(GoogleMap googleMap) {
    this.googleMap = googleMap;
}

关于android - 必需的 com.google.android.gms.GoogleMap 发现无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35290974/

相关文章:

android - AsyncTask 和后台线程何时使用

Android Mapview 捏合 View 不调用 OnZoomListener

java - 在 Android 中使用适配器向 GridView 添加更多元素

android - 如何提示用户启用GPS

android - 找不到 MapActivity 类中的 Mapview

android - map 安卓 API : Authorization failure

android - import android.support.v7.app.MediaRouteActionProvider 无法解析

java - 如何从 Google Maps android 中的当前位置不断检测附近的标记位置?

android - 数据库中的可绘制引用存储

Android:具有动态 actionBar 颜色和 DrawerLayout 的透明状态栏