MKUserTrackingButton - Как получить центральную карту местоположения пользователя без уменьшения масштаба? - PullRequest
0 голосов
/ 04 мая 2018

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

Есть ли способ сделать это?

Имеет ли MKUserTrackingButton свойство, которое я могу изменить, чтобы при его нажатии он центрировал карту только вместо уменьшения?

Вот мой код для добавления кнопки:

    let Userbutton = MKUserTrackingButton(mapView: mapview)
    Userbutton.layer.backgroundColor = UIColor(white: 1, alpha: 0.8).cgColor
    Userbutton.layer.borderColor = UIColor.white.cgColor
    Userbutton.layer.borderWidth = 1
    Userbutton.layer.cornerRadius = 5
    Userbutton.translatesAutoresizingMaskIntoConstraints = false
    Userbutton.heightAnchor.constraint(equalToConstant: 50).isActive = true
    Userbutton.widthAnchor.constraint(equalToConstant: 50).isActive = true
    mapview.addSubview(Userbutton)

    mapview.addConstraintsWithFormat(format: "H:[v0]-10-|", views: Userbutton)
    mapview.addConstraintsWithFormat(format: "V:[v0]-70-|", views: Userbutton)

1 Ответ

0 голосов
/ 30 мая 2018

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

Нет, если нажать MKUserTrackingButton, он может изменить или не изменить уровень масштабирования карты в зависимости от таких факторов, как расстояние от местоположения пользователя.

Есть ли способ сделать это?

Вы можете использовать Базовое местоположение, чтобы получить местоположение пользователя, а затем установить координату центра карты напрямую, не изменяя ее масштаб.

Или еще проще: если ваша карта уже показывает местоположение пользователя, вы можете получить ее координату из свойства userLocation карты.

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