Я могу загрузить и увидеть изображение улицы в моем фрагменте, но во время загрузки показывает черный пустой экран .Есть ли решение, чтобы избежать этого пустого экрана при загрузке.
Вот код, который я поместил в XML для отображения Panorama:
<com.mypackagename.CustomStreetViewPanoramaView
android:id="@+id/streetViewPanorama"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@+id/addressLL" />
Во фрагменте при вызове initUI getStreetViewPanoramaAsync
:
override fun initUI() {
streetViewPanorama?.postDelayed({
streetViewPanorama?.onCreate(Bundle())
streetViewPanorama?.getStreetViewPanoramaAsync {
onPanoramaReady(it)
presenter?.getNearByPanorama(50, 0.5f)
}
}, 500)
}
private fun onPanoramaReady(streetViewPanorama: StreetViewPanorama?) {
isPanoramaLoaded = true
panorama = streetViewPanorama
}
После получения информации о местоположении от докладчика установка положения панорамы, например:
override fun setPanoramaPosition(locationInfo: LocationInfo, radius: Int, zoom: Float) {
if (isPanoramaLoaded) {
setState(progress = true)
val location = LatLng(locationInfo.latitude, locationInfo.longitude)
panorama?.setPosition(location, radius)
panorama?.isStreetNamesEnabled = true
panorama?.setOnStreetViewPanoramaChangeListener { streetViewPanoramaLocation ->
run {
if (streetViewPanoramaLocation?.links != null) {
// if streetViewPanoramaLocation is present then set camera position
val panoramaLocation = panorama?.location?.position
val heading = SphericalUtil.computeHeading(panoramaLocation, location)
val camera = StreetViewPanoramaCamera.Builder()
.zoom(panorama?.panoramaCamera?.zoom?.plus(zoom)!!)
.tilt(panorama?.panoramaCamera?.tilt!!)
.bearing(panorama?.panoramaCamera?.bearing!!)
.build()
panorama?.animateTo(camera, 100)
setState(progress = false)
} else {
// if streetViewPanoramaLocation not available in 50 meter radius then try with 100 radius
if (radius != 100)
presenter?.getNearByPanorama(100, 0.5f)
else // if not found within 100 meter radius show error message
setState(error = true)
}
}
}
}
}