как получить LatLng при перетаскивании только на карте. мне нужна такая же функциональность, как в кабине OLA - PullRequest
0 голосов
/ 28 марта 2019

enter image description here У меня есть два текста редактирования, первый для выбора местоположения и второй для удаления. оба 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)
        }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...