协程存在问题。
由于某些原因,我的PolyLine没有出现在地图上。尽管按照计划,它们应该会出现。可能是什么问题呢?
我可能写得不正确,但我仍然是一个完整的初学者,不知道应该怎么写。我寻求您的帮助
private fun GetDirectionn(url: String, index: Int){
lifecycleScope.launch(Dispatchers.Main) {
//polylineFinal[index] = withContext(Dispatchers.IO) {
try {
this@MainActivity.runOnUiThread {
openBottomSheetFinal()
}
val client = OkHttpClient()
val request = Request.Builder().url(url).build()
val response = client.newCall(request).execute()
val data = response.body()!!.string()
Log.d("GoogleMap", " data : $data")
val result = ArrayList<List<LatLng>>()
try {
val respObj = Gson().fromJson(data, GoogleMapDTO::class.java)
val path = ArrayList<LatLng>()
for (i in 0 until respObj.routes[0].legs[0].steps.size) {
path.addAll(decodePolyline(respObj.routes[0].legs[0].steps[i].polyline.points))
}
result.add(path)
} catch (e: Exception) {
e.printStackTrace()
}
try {
val lineOption = PolylineOptions()
for (i in result.indices) {
lineOption.addAll(result[i])
lineOption.width(10f)
lineOption.color(colorArray[index])
lineOption.geodesic(true)
}
this@MainActivity.runOnUiThread {
if (polylineFinal[index] != null) {
polylineFinal[index]!!.remove()
polylineFinal[index] = null
}
polylineFinal[index] = map.addPolyline(lineOption)
polylineFinal[index]!!.startCap = CustomCap(
bitmapDescriptorFromVector(
applicationContext,
R.drawable.icon_round_black
)
)
polylineFinal[index]!!.endCap = CustomCap(
bitmapDescriptorFromVector(
applicationContext,
R.drawable.icon_round_black
)
)
}
//polylineFinal[index]
} catch (e: Exception) {
//null
}
} catch (e: Exception) {
//null
}
//} as Polyline
}
}