Я младший в Котлине, и я пытаюсь показать широту и долготу для конкретного аэропорта на карте Google.с помощью Async Task, чтобы получить данные JSON для широты и долготы для аэропорта, а затем намеренные координаты на картах Google.но когда я пытаюсь ввести код в код карты Google, я получаю красную линию под координатами с координатами.
override fun onMapReady(p0: GoogleMap?) {
val sydney = LatLng(coordinatesText)
p0!!.addMarker(MarkerOptions().position(sydney).title("Marker in Sydney"))
p0.moveCamera(CameraUpdateFactory.newLatLng(sydney))
}
основной класс деятельности
class MainActivity : AppCompatActivity(), OnMapReadyCallback {
lateinit var mapFragment : SupportMapFragment
lateinit var googleMap: GoogleMap
@SuppressLint("MissingPermission")
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val url = "xxxxx/airport.json?code=BGW"
Download().execute(url)
mapFragment = supportFragmentManager.findFragmentById(R.id.map) as SupportMapFragment
mapFragment.getMapAsync(this@MainActivity)
}
override fun onMapReady(p0: GoogleMap?) {
val sydney = LatLng(coordinatesText)
p0!!.addMarker(MarkerOptions().position(sydney).title("Marker in Sydney"))
p0.moveCamera(CameraUpdateFactory.newLatLng(sydney))
}
// full class for json api
inner class Download : AsyncTask<String,String,String>(){
override fun onPreExecute() {
}
// for build connection
override fun doInBackground(vararg p0: String?): String{
try {
val url = URL(p0[0])
val urlConnect = url.openConnection() as HttpURLConnection
urlConnect.connectTimeout = 700
val inputStream = urlConnect.inputStream
val dataJsonAsStr = covertStreamToString(urlConnect.inputStream)
publishProgress(dataJsonAsStr)
} catch (e: Exception){
}
return ""
}
// for get items from json api
override fun onProgressUpdate(vararg values: String?) {
val json= JSONObject(values[0])
val result = json.getJSONObject("result")
val response =result.getJSONObject("response")
val airport =response.getJSONObject("airport")
val pluginData =airport.getJSONObject("pluginData")
val details =pluginData.getJSONObject("details")
val position =details.getJSONObject("position")
val latitude =position.getString("latitude")
coordinatesText.setText(latitude)
}
override fun onPostExecute(result: String?) {
}
}
// for connection api
fun covertStreamToString (inputStream: InputStream): String {
val bufferReader = BufferedReader(InputStreamReader(inputStream))
var line:String
var allString:String=""
try {
do{
line=bufferReader.readLine()
if (line!=null)
allString+=line
}while (line!=null)
bufferReader.close()
}catch (ex:java.lang.Exception){}
return allString;
}
// full class for json api
}