onMapReady 函数似乎未在 android 应用程序上调用

onMapReady function seems to not be called on android app

地图似乎已创建,但标记未放置。大多数与此问题相关的问题似乎都没有 getmapasync 但似乎有一个问题

override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    // Retrieve the content view that renders the map.
    setContentView(R.layout.fragment_dashboard)

    val mapFragment = supportFragmentManager.findFragmentById(R.id.map) as? SupportMapFragment
    mapFragment?.getMapAsync(this)
}
override fun onMapReady(googleMap: GoogleMap) {
    mMap = googleMap
    val sydney = LatLng(-33.852, 151.211)
    mMap.addMarker(
        MarkerOptions()
            .position(sydney)
            .title("Marker in Sydney")
    )
    // [START_EXCLUDE silent]
    mMap.moveCamera(CameraUpdateFactory.newLatLng(sydney))
    // [END_EXCLUDE]
}
// [END maps_marker_on_map_ready_add_marker]

您的地图片段是否嵌套在片段中? 如果您从包含实际地图的片段调用 getMapAsync,则需要使用 childFragmentManager 而不是 supportFragmentManager 来查找地图

(childFragmentManager.findFragmentById(R.id.map) as SupportMapFragment).getMapAsync(this)