Есть ли такая функция, как (MapboxMap.OnCameraIdleListener) в Swift 4? - PullRequest
0 голосов
/ 21 декабря 2018

Я переключил форму google map на MapBox и не смог найти такую ​​функцию, как:

func mapView(_ mapView: GMSMapView, idleAt cameraPosition: GMSCameraPosition) {
geocoder.reverseGeocodeCoordinate(cameraPosition.target) { (response, error) in
  guard error == nil else {
    return
  }

  if let result = response?.firstResult() {
    let marker = GMSMarker()
    marker.position = cameraPosition.target
    marker.title = result.lines?[0]
    marker.snippet = result.lines?[1]
    marker.map = mapView
  }
}
 }
}

, которая дает центр формы координат карты, когда пользователь прекращает перемещать карту, я также обнаружил, что есть функцияmapBox, который дает тот же результат для Android (MapboxMap.OnCameraIdleListener), но я не могу найти функцию, аналогичную этой в mapbox для swift.

Есть ли функция для swift, которая дает аналогичный вид результата?Если да, то что это может быть?

1 Ответ

0 голосов
/ 21 декабря 2018

Точного соответствия для функции нет, но у mapView есть свойство centerCoordinate, которое возвращает желаемое значение.

let mapCenter = mapView.centerCoordinate

Изменение / установка этого свойства приведет к сбросу центра mapView.Это может быть анимировано при необходимости.

Если вы хотите знать, когда карта была перемещена, а затем остановлена, вы можете использовать метод делегата:

fun mapView(_ mapView: MGLMapView, regionDidChangeAnimated: Bool) {
   // Get your centre coordinate here.
}

Этот метод вызываетсявсякий раз, когда текущая отображаемая карта камеры изменялась.

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