Свойство видимости компаса Mapbox Swift

Привет всем, я пытаюсь заставить компас исчезнуть с моей карты и ударился о кирпичную стену. Ниже приведена моя функция инициализации карты, и я не уверен, что это за переменная. Я пробовал mapView.compassEnabled == false, mapView.compassView = nil и несколько других вещей, которые я не нашел.

Я ценю любую помощь!

  @objc func initMap() {
    if mapView != nil {
      print("Attempting to init map that is already initialized, returning")
      return
    }

    mapView = NavigationMapView(frame: UIApplication.shared.delegate!.window!!.bounds, // TODO: Set frame from react
      styleURL: NSURL(string: "mapbox://styles/paway/ckcp7w04x03by1iqi1t26uilu") as URL?)
    guard let mapView = self.mapView else { return }

    mapView.zoomLevel = 2
    mapView.delegate = self
    mapView.locationManager.setDistanceFilter?(6)
    PWLocationManager.shared.delegate = self
    mapView.setCenter(CLLocationCoordinate2D(latitude: 37.0902, longitude: -95.7129), animated: false)
    mapView.navigationMapViewDelegate = self

    switch cameraMode {
    case "overview":
      mapCameraState = .overviewMode
      mapView.userTrackingMode = .followWithHeading
    case "followHeading":
      mapCameraState = .followMode
      mapView.userTrackingMode = .followWithHeading
    default:
      mapView.userTrackingMode = .none
    }
    
    mapView.isPitchEnabled = true
    mapView.showsUserLocation = true
    self.addSubview(mapView)
    
    addMapTapRecognizer()
    addObservers()
  }

person kinzito17    schedule 30.01.2021    source источник


Ответы (1)


Обновленный ответ**

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

Я нашел ответ здесь https://stackoverflow.com/a/57560116/13639051

Я добавил :

mapView.compassViewPosition = .bottomLeft

mapView.compassViewMargins = CGPoint(x: 0, y: 0)

который скрывает компас за нижним тостом, который постоянно присутствует в проекте.

person kinzito17    schedule 31.01.2021