Как установить размер текста заголовка маркера на карте Google в Swift 5 - PullRequest
0 голосов
/ 19 января 2020

Я использовал карту Google в Swift 5. Я использовал значок с заголовком маркера. Но мой заголовок маркера над значком. Значок маркера не четко показывает. Моя иконка перемещается каждые 10 секунд. Я также использовал вращение для маркера. Когда вращение влево или вправо, маркер titl покрывает мою иконку. вот скриншот enter image description here вот код ниже ..

let marker = GMSMarker()
marker.title = "D M Th 13-6573"
marker.icon = UIImage(named: "item_car_slow")
marker.rotation = CLLocationDegrees(heading)
marker.map =  self.googleMap
self.googleMap.selectedMarker = marker

Пожалуйста, помогите мне

1 Ответ

1 голос
/ 19 января 2020

Хорошо, после поиска немного больше о проблеме, я могу твердо сказать, что это происходит, когда вращение применено, и тогда infoWindowAnchor не является правильным.

Итак, что вам нужно сделать, это вычислить infoWindowAnchor на основе угла следующим образом

let marker = GMSMarker()
marker.title = "D M Th 13-6573"
marker.icon = UIImage(named: "item_car_slow")
marker.rotation = CLLocationDegrees(heading)
marker.map =  self.googleMap
marker.infoWindowAnchor = getInfoWindowAnchorFor(heading)
self.googleMap.selectedMarker = marker

Следующая функция вычислит правильную опорную точку.

func getInfoWindowAnchorFor(_ angle: Double) -> CGPoint {
    let x = sin(-angle * Double.pi / 180) * 0.5 + 0.5
    let y = -(cos(-angle * Double.pi / 180) * 0.5 - 0.5)
    return CGPoint(x: x, y: y)
}

Обратите внимание, что приведенный выше лог c взят из этого ответа этот ответ на старый вопрос для android SDK. Для получения подробной информации о логи c и расчете, пожалуйста, посетите оригинальный ответ.

Это должно решить вашу проблему.

Счастливое кодирование?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...