Madhava
07/14/2020, 3:00 AMAndroidView(
modifier = Modifier.fillMaxWidth().fillMaxHeight(),
view = MapComponent(ctx, options)
)
// the getMapAsync never runs
private fun MapComponent(ctx: Context, options: GoogleMapOptions) = MapView(ctx, options).apply {
val result = ctx.checkCallingPermission(Manifest.permission.ACCESS_FINE_LOCATION)
Log.i("MapView", "got permission check value: $result")
val builder = LatLngBounds.Builder()
val cameraUpdate = CameraUpdateFactory.newLatLngBounds(builder.build(), 0)
getMapAsync {
Log.i("MapView", "Does this run?")
it.uiSettings.isMyLocationButtonEnabled = true
it.isMyLocationEnabled = true
it.mapType = MAP_TYPE_NORMAL
}
}
// if i try it this way, I don't see how to get a view from a fragment
private fun MapComponent(ctx: Context, options: GoogleMapOptions) = SupportMapFragment.newInstance(options).getMapAsync {
}
Mihai Popa
07/14/2020, 11:22 AM<androidx.fragment.app.FragmentContainerView
android:id="@+id/map"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:name="com.google.android.gms.maps.SupportMapFragment">
</androidx.fragment.app.FragmentContainerView>
and
AndroidView(resId = R.layout...., postInflationCallback = { view ->
val fragment = (view.context as AppCompatActivity).supportFragmentManager
.findFragmentById(R.id.map)
(fragment as SupportMapFragment).getMapAsync { map ->
...
}
})
Madhava
07/15/2020, 12:16 AMMahdi
11/05/2020, 6:24 AMAndroidView(resId = R.layout...., postInflationCallback = { view ->
val fragment = (view.context as AppCompatActivity).supportFragmentManager
.findFragmentById(R.id.map)
(fragment as SupportMapFragment).getMapAsync { map ->
...
}
})
Is not working in 06 version.Mihai Popa
11/05/2020, 12:14 PMAndroidViewBinding(MyLayoutBinding::inflate) {
val fragment = ...
}