Сохранить уровень масштабирования карты при отслеживании местоположения пользователя

У меня проблема с тем, что карта автоматически уменьшается, когда пользователь нажимает на кнопку, которая начнет отслеживать изменение местоположения пользователя, как, например, приложение Apple Map, когда вы нажимаете кнопку привязки один раз.

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

Я пытался подражать этому в коде, но пока мне не повезло.

Мой вопрос прост: есть ли способ установить уровень масштабирования по умолчанию для режима отслеживания пользователей? Если нет, могу ли я каким-то образом имитировать повышение пользователя (возможно, действие распознавателя жестов?), Чтобы принудительно установить область действия?

Заранее спасибо!

Примечание. Я искал ответ в Stackru и нашел только такие ответы.

1 ответ

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

 @IBAction func getUserLocationPressed(_ sender: AnyObject) {

 if CLLocationManager.authorizationStatus() == .authorizedWhenInUse {

        let span = MKCoordinateSpanMake(1.0, 1.0)

        let location = CLLocationCoordinate2D(latitude: mapView.userLocation.coordinate.latitude, longitude: mapView.userLocation.coordinate.longitude)

        let coordinateRegion = MKCoordinateRegion(center: location, span: span)

        mapView.setRegion(coordinateRegion, animated: true)

    }

}
Другие вопросы по тегам