2017-07-29 13 views
2

こんにちは、私はkotlinでGoogle Mapsを実装しようとしているが、私のgetMapAsyncが呼び出さ取得されていないこれらのコードでは、マップが完全に表示されますが、マーカーがKotlin(マーカーが表示されていない)

var mapFragment : SupportMapFragment?=null 
    mapFragment= fragmentManager.findFragmentById(R.id.map) as SupportMapFragment? 
    mapFragment?.getMapAsync { 
     val sydney = LatLng(22.30, 73.20) 
     mMap!!.addMarker(MarkerOptions().position(sydney).title("Marker in Sydney")) 
     mMap!!.moveCamera(CameraUpdateFactory.newLatLng(sydney)) 


     Toast.makeText(activity,"dfgdg",Toast.LENGTH_LONG).show() } 
まで表示されません。
+0

'mapFragment'は' fragmentManager'がそれを見つけることができないことを意味し、おそらくnullです。あなたのコードのどこかで 'SupportMapFragment'を初期化しましたか? –

+0

実際にマップは画面に表示されていますが、マーカーは追加されません –

+0

レイアウトXMLを表示できますか?あるいは、あなたは 'SupportMapFragment()'(コンストラクタ)をどこかで呼びますか? –

答えて

1
  1. 間違ったマップインスタンスを使用しています。
  2. シドニーLAT LNGがある-33.8479731,150.6517908
mapFragment?.getMapAsync { 

    map -> // <- this is the map that you got async not mMap    
     val sydney = LatLng(-33.8479731, 150.6517908) 
     map.addMarker(... 
     map.moveCamera(... 
} 
関連する問題