Мне нужно увеличить NMAMapView до определенной точки внутри границ карты.Допустим, у нас есть некоторый маркер в качестве подпредставления этой карты с позицией pinPoint: CGPoint
.Я попытался использовать transformCenter
свойство NMAMapView следующим образом:
let transformCenter = CGPoint(x: pinPoint.x / mapView.bounds.width, y: pinPoint.y / mapView.bounds.height) // x and y are in range [0, 1]
mapView.transformCenter = transformCenter
mapView.set(zoomLevel: mapView.zoomLevel + 1, animation: .linear)
Но этот код масштабирует карту к центру кадра, а не к точечному указанию.
Я также пытался увеличить карту до нужной точки с кодом ниже:
guard let coordinates = mapView.geoCoordinates(from: pinPoint) else {
return
}
mapView.set(coordinates: coordinates, to: pinPoint, animation: .linear, zoomLevel: mapView.zoomLevel + 1)
Но это также не работает правильно: после увеличения гео-координаты под маркером менялись после каждого шага увеличения.