作为初学者,由原来ArcGIS android runtime 10.2.X转过来,不太适应kotlin的写法。出现了
kotlin.uninitializedpropertyaccessexception: lateinit property lifeCycleOwner has not been initialized的错误。
Kotlin
private lateinit var mMapView: MapView
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
ArcGISEnvironment.apiKey = ApiKey.create("你的APIKey")
try {
setContentView(R.layout.activity_main)
mMapView = findViewById(R.id.mMapView);
mMapView.onCreate(this) //这句最关键
val arcgisMap = ArcGISMap(BasemapStyle.ArcGISTopographic)
arcgisMap.initialViewpoint = Viewpoint(latitude = 34.0270, longitude = -118.8050, scale = 72000.0)
mMapView.map = arcgisMap
} catch (ex:Exception) {
ex.message.toString()
}
}
加一句就解决了问题。
Kotlin
mMapView.onCreate(this)