Closed remenkoff closed 4 years ago
Здравствуйте,
Предполагалось, что для этого будет использоваться: YMKMap::cameraPositionWithBoundingBox, результат которого будет передан в YMKMap::cameraPosition.
Вот мое решение
func moveToCenterOfObjects(map: YMKMap, objects: [YMKPoint]) {
let poligone = YMKPolygon(outerRing: YMKLinearRing(points: objects),
innerRings: [])
var cameraPosition = map.cameraPosition(with: YMKGeometry(polygon: poligone),
azimuth: 0,
tilt: 0,
focus: nil)
cameraPosition = YMKCameraPosition(target: cameraPosition.target,
zoom: cameraPosition.zoom - 0.5,
azimuth: cameraPosition.azimuth,
tilt: cameraPosition.tilt)
map.move(with: cameraPosition)
}
Вот мое решение
var cameraPosition = map.cameraPosition(with: YMKGeometry(polygon: poligone),
такой функции нет
Вот мое решение
var cameraPosition = map.cameraPosition(with: YMKGeometry(polygon: poligone),
такой функции нет
Очень жаль что у вас ее нет, однако, в документации она присутствует и в моем проекте отрабатывает отлично. https://yandex.ru/dev/mapkit/doc/ru/Swift/YMKMap#camerapositionwithazimuthtiltfocus
Очень жаль что у вас ее нет, однако, в документации она присутствует и в моем проекте отрабатывает отлично. https://yandex.ru/dev/mapkit/doc/ru/Swift/YMKMap#camerapositionwithazimuthtiltfocus
Спасибо, оказывается не обновился.
Здравствуйте!
Никак не найду аналог метода setRegion (было в 1й версии API). Получается, что смещать карту можно только с помощью метода
move
экземпляра YMKMap с двумя перегрузками:move(_ with: YMKCameraPosition)
иmove(_ with: YMKCameraPosition, animationType: YMKAnimation, cameraCallback: YMKMapCameraCallback?)
; однако YMKCameraPosition оперирует только координатой (будущий центр карты) и масштабом, но не областью с конкретным центром и конкретным размером.Свойство
visibleRegion
только для чтения. В лучшем случае мне может помочь методvisibleRegion(_ with: YMKCameraPosition)
, и то в извращениях, типа проверки вхождения моего региона (прямоугольника) в видимый прямоугольник для определенно настроенной камеры в цикле, который, отталкиваясь от центра региона, будет отдалять камеру... 🙈 Было бы здорово получать и, наоборот, - YMKCameraPosition из YMKVisibleRegion, чтобы потом передать его в методmove
.Или все же есть решение моей проблемы из коробки?
Спасибо!
p.s.: сейчас использую следующее решение:
Ну, и
extension
, разумеется:...но учитывая, что я четко знаю к какой области и с каким масштабом нужно сдвинуть карту, все эти костыли кажутся нелепыми, как минимум)))