Получаю и показываю на карте текущее месторасположение :
mapView.mapWindow.map.isRotateGesturesEnabled = false
mapView.mapWindow.map.move(with:
YMKCameraPosition(target: YMKPoint(latitude: 0, longitude: 0), zoom: 14, azimuth: 0, tilt: 0))
let scale = UIScreen.main.scale
let userLocationLayer = mapView.mapWindow.map.userLocationLayer
userLocationLayer.isEnabled = true
userLocationLayer.isHeadingEnabled = true
userLocationLayer.setAnchorWithAnchorNormal(
CGPoint(x: 0.5 * mapView.frame.size.width * scale, y: 0.5 * mapView.frame.size.height * scale),
anchorCourse: CGPoint(x: 0.5 * mapView.frame.size.width * scale, y: 0.83 * mapView.frame.size.height * scale))
userLocationLayer.setObjectListenerWith(self)
func onObjectAdded(with view: YMKUserLocationView) {
view.arrow.setIconWith(UIImage(named:"userArrow")!)
let pinPlacemark = view.pin.useCompositeIcon()
pinPlacemark.setIconWithName("icon",
image: UIImage(named:"Icon")!,
style:YMKIconStyle(
anchor: CGPoint(x: 0, y: 0) as NSValue,
rotationType:YMKRotationType.rotate.rawValue as NSNumber,
zIndex: 0,
flat: true,
visible: true,
scale: 1.5,
tappableArea: nil))
pinPlacemark.setIconWithName(
"pin",
image: UIImage(named:"SearchResult")!,
style:YMKIconStyle(
anchor: CGPoint(x: 0.5, y: 0.5) as NSValue,
rotationType:YMKRotationType.rotate.rawValue as NSNumber,
zIndex: 1,
flat: true,
visible: true,
scale: 1,
tappableArea: nil))
view.accuracyCircle.fillColor = UIColor.blue
}
func onObjectRemoved(with view: YMKUserLocationView) {}
func onObjectUpdated(with view: YMKUserLocationView, event: YMKObjectEvent) {
}
проблема в том, что идет постоянное обновление и камера перекидывает на текущее расположение (если сместиться на карте в другое место через n секунд вернет обратно на твою геопозицию). Как можно показать текущее расположение на карте и узнать координаты, но без постоянного обновления ?