Добавить пользовательскую кнопку в навигационном представлении Mapbox - PullRequest
0 голосов
/ 23 ноября 2018

Я использую Mapbox, чтобы пользователи могли перемещаться между локациями.Я использую базовую функцию навигации, как указано в документации (https://www.mapbox.com/ios-sdk/navigation/examples/basic/). Это дает мне представление навигации, как показано ниже. enter image description here

Я хотел бы добавить пользовательскую кнопкув нижней части окна. Для этого я попробовал следующий код.

Directions.shared.calculate(options) { (waypoints, routes, error) in

    guard let route = routes?.first else {
        self.showAlertMessage("No possible routes detected")
        return
    }

    self.mapNavigationViewController = NavigationViewController(for: route)

    self.mapNavigationViewController.delegate = self

    self.present(self.mapNavigationViewController, animated: true, completion: {

        let customButton = UIButton()
        customButton.setTitle("Press", for: .normal)
        customButton.translatesAutoresizingMaskIntoConstraints = false
        customButton.backgroundColor = .blue
        customButton.contentEdgeInsets = UIEdgeInsets(top: 10, left: 20, bottom: 10, right: 20)

        self.mapNavigationViewController.view.addSubview(customButton)

        customButton.bottomAnchor.constraint(equalTo: self.mapNavigationViewController.view.bottomAnchor, constant: 0).isActive = true
        customButton.leftAnchor.constraint(equalTo: self.mapNavigationViewController.view.leftAnchor, constant: 0).isActive = true
        customButton.rightAnchor.constraint(equalTo: self.mapNavigationViewController.view.rightAnchor, constant: 0).isActive = true

        self.mapNavigationViewController.view.setNeedsLayout()

    })
}

С этим я получил кнопку, как показано ниже.

enter image description here

Теперь, следующее, что нужно сделать, - это сместить вид карты, чтобы его нижняя часть совпала с вершиной пользовательской кнопки. Как мне этого добиться?

Ответы [ 2 ]

0 голосов
/ 26 ноября 2018

Я могу выполнить задачу, следуя этой карте Mapbox Документация .

0 голосов
/ 23 ноября 2018

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

Проверьте, есть ли у вас доступ к представлению карты библиотеки или ее нижнему ограничению.

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