У меня есть два текста редактирования, первый для выбора местоположения и второй для удаления. оба edittext имеют длительное текущее местоположение и местоположение отбрасывания. Я реализовал onCameraIdelListeners () для перетаскивания карты и получения широты на позиции камеры. но когда я нажимаю первый текст редактирования, он заменяет текст адреса в соответствии с маркером карты, а когда я нажимаю второй текст редактирования, он устанавливает одинаковый адрес для обоих, но второй адрес должен отличаться. всякий раз, когда я нажимал на любой текст редактирования, он устанавливал один и тот же адрес, а не перемещал другой адрес.
private fun configureCameraIdle() {
onCameraIdleListener = GoogleMap.OnCameraIdleListener {
mAddressList = geoCoder?.getFromLocation(mMap?.cameraPosition?.target?.latitude
?: 0.0, mMap?.cameraPosition?.target?.longitude
?: 0.0, 1) as ArrayList<Address>?; // Here 1 represent max location result to returned, by documents it recommended 1 to 5
var icon: Int? = 0
if (isPicClicked == false) {
icon = R.drawable.ic_pin_red
if (mAddressList?.size ?: 0 > 0)
edtDropLoc?.text = mAddressList?.get(0)?.getAddressLine(0)
currentLat = mMap?.cameraPosition?.target?.latitude
currentLong = mMap?.cameraPosition?.target?.longitude
} else {
icon = R.drawable.ic_pin_green
if (mAddressList?.size ?: 0 > 0)
edtPicLoc?.text = mAddressList?.get(0)?.getAddressLine(0)
dropLat = mMap?.cameraPosition?.target?.latitude
droptLong = mMap?.cameraPosition?.target?.longitude
}
moveMapCameraToLocation(mMap?.cameraPosition?.target?.latitude, mMap?.cameraPosition?.target?.longitude, icon)
}
}
edtPicLoc?.setOnClickListener{
isPicClicked = true
layoutGreenPin?.visibility = View.VISIBLE
layoutRedPin?.visibility = View.GONE
moveMapCameraToLocation(currentLat, currentLong, R.drawable.ic_pin_green)
Handler().postDelayed({ isDoubleClickPicLoc = false }, 2000)
}