gpt4 book ai didi

android - 如何使我的项目与 getMapAsync 兼容?

转载 作者:行者123 更新时间:2023-11-29 19:40:14 29 4
gpt4 key购买 nike

今天更新我的 SDK 之前,我有工作代码(为了将来引用,请查看问题询问日期)。 .getMap 曾经发出警告,表明它已被弃用,但现在它甚至不被识别为有效输入。我假设这是因为 API 24(Android Nougat) 的新版本而发生的。事不宜迟,这里是代码:

private boolean initMap() {
if (mMap == null) {
MapFragment mapFrag =
(MapFragment) getFragmentManager().findFragmentById(R.id.map);
mMap = mapFrag.getMapAsync();
}
return (mMap != null);
}

如果有人可以帮助我进行更改以集成 .getMapAsync(),我将不胜感激。

谢谢!

更新:这是查看答案中的建议后的新代码和更新代码(这不在 onCreate 中)-

private boolean initMap() {
if (mMap == null) {
MapFragment mapFrag = (MapFragment) getFragmentManager()
.findFragmentById(R.id.map);
mapFrag.getMapAsync(this);
}
return (mMap != null);
}

@Override
public void onMapReady(GoogleMap googleMap) {
if (googleMap != null) {
mMap = googleMap;
}
}

最佳答案

你需要这样调用

    mapFrag = (SupportMapFragment) getSupportFragmentManager()
.findFragmentById(R.id.map);
mapFrag.getMapAsync(this);

并使您的 Activity (例如)实现 OnMapReadyCallback。然后覆盖回调方法 onMapReady(GoogleMap googleMap)

关于android - 如何使我的项目与 getMapAsync 兼容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38700364/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com