Как мы можем показать InfoWindow в определенной точке на карте в зависимости от плотности экрана - PullRequest
0 голосов
/ 29 ноября 2018

Я создал собственное окно InfoWindow для отображения на карте вместо отображения окна по умолчанию во фрагменте с использованием вида карты (в Kotlin).Проблема заключается в размещении этого информационного окна в центре карты таким образом, чтобы маркер находился в верхнем правом углу информационного окна, а информационное окно должно быть в центре экрана, как показано на скриншоте.

enter image description here

Если вы видите на скриншоте, пользовательское информационное окно отображается в верхней части маркера, но мне нужно показать его в верхнем правом углу информационного окна.

Из этой ссылки я пытаюсь переместить камеру в положение производителя, которое находится в информационном окне на основе значений проекции.

if (infoWindowView != null) {

                val projection = map?.projection
                val markerPosition = projection?.toScreenLocation(latLng)
                val targetPoint = Point(markerPosition?.x!! - infoWindowView!!.width + 1000, markerPosition.y - infoWindowView!!.height)
                val targetPosition = projection.fromScreenLocation(targetPoint)

                // animate camera to marker position
                cameraUpdate = CameraUpdateFactory.newLatLngZoom(targetPosition, 14f)

             map?.animateCamera(cameraUpdate)

            }

Но я не получаю его, так какожидается, пожалуйста, дайте мне свои мысли.

...