分からない内容
MapViewを配置したFragmentを作成したいのですが、getMapAsync(this)でエラーが表示されてしまいます。
初歩的なことだとは思うのですが、調べても分からず、投稿させていただきました。
エラー
inferred type is mapview but onmapreadycallback was expected
コード
xml
1<?xml version="1.0" encoding="utf-8"?> 2<androidx.constraintlayout.widget.ConstraintLayout 3 xmlns:android="http://schemas.android.com/apk/res/android" 4 xmlns:app="http://schemas.android.com/apk/res-auto" 5 android:layout_width="match_parent" 6 android:layout_height="match_parent" 7 android:id="@+id/container"> 8 9 <com.google.android.gms.maps.MapView 10 android:id="@+id/map" 11 android:layout_width="0dp" 12 android:layout_height="0dp" 13 app:layout_constraintEnd_toEndOf="parent" 14 app:layout_constraintTop_toTopOf="parent" 15 app:layout_constraintStart_toStartOf="parent" 16 app:layout_constraintBottom_toBottomOf="parent" 17 /> 18 19</androidx.constraintlayout.widget.ConstraintLayout>
fragment
1class HomeFragment : Fragment() , OnMapReadyCallback { 2 3 private lateinit var homeViewModel: HomeViewModel 4 private lateinit var mMap: GoogleMap 5 private lateinit var mMapView: MapView 6 7 override fun onCreateView( 8 inflater: LayoutInflater, 9 container: ViewGroup?, 10 savedInstanceState: Bundle? 11 ): View? { 12 homeViewModel = 13 ViewModelProviders.of(this).get(HomeViewModel::class.java) 14 val root = inflater.inflate(R.layout.fragment_home, container, false) 15 return root 16 } 17 18 override fun onViewCreated(view: View, savedInstanceState: Bundle?) { 19 mMapView = map.apply { 20 onCreate(savedInstanceState) 21 getMapAsync(this) 22 } 23 } 24 25 override fun onMapReady(googleMap: GoogleMap) { 26 mMap = googleMap 27 28 googleMap.uiSettings.isScrollGesturesEnabled = true 29 googleMap.uiSettings.isZoomControlsEnabled = true 30 googleMap.uiSettings.isZoomGesturesEnabled = true 31 googleMap.uiSettings.isRotateGesturesEnabled = true 32 googleMap.uiSettings.isMapToolbarEnabled = false 33 } 34}
参考にしたサイト
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。