gpt4 book ai didi

java - map 就绪回调返回 null

转载 作者:行者123 更新时间:2023-12-01 16:23:38 25 4
gpt4 key购买 nike

我正在尝试为我的应用程序制作一个谷歌 API,以在我的应用程序上显示谷歌地图,但我不断收到此错误java.lang.RuntimeException:无法启动 Activity ComponentInfo{com.123.1234/com.123.1234.RideHailActivity}:java.lang.NullPointerException:尝试调用虚拟方法 'void com.google.android.gms.maps.SupportMapFragment空对象引用上的 .getMapAsync(com.google.android.gms.maps.OnMapReadyCallback)'

这是 map Activity

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_ride_hail);
final SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager()
.findFragmentById(R.id.map);
assert mapFragment != null;
mapFragment.getMapAsync(this);

最佳答案

当我们调用 mapFragment.getMapAsync(this); 时,您可能会注意到 Async 这个词,这意味着我们可能无法立即获取 GoogleMap 引用。

大多数情况下您会得到null。所以 assert mapFragment != null; 将抛出错误

您必须实现 OnMapReadyCallback#onMapReady 回调才能获取 GoogleMap 引用而不是 null。

您还可以从 Android Studio 创建一个 GoogleMap 示例,您将看到:

override fun onMapReady(googleMap: GoogleMap) {
mMap = googleMap

// Add a marker in Sydney and move the camera
val sydney = LatLng(-34.0, 151.0)
mMap.addMarker(MarkerOptions().position(sydney).title("Marker in Sydney"))
mMap.moveCamera(CameraUpdateFactory.newLatLng(sydney))
}

关于java - map 就绪回调返回 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62205367/

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