Как вращать MKMapRect overlayBoundingMapRect

Я разрабатываю приложение карты помещений. это для устройств iPad. Я использую цель-с.

У меня есть наложение внутри boundingMapRect, это изображение (план этажа) из файла PDF.

Это показано с правильным размером.

но одна проблема для меня - происхождение прямоугольника.

Я хочу, чтобы прямоугольник немного повернулся, потому что он не показан на вершине здания, которое я хотел.

Вот как это показано:

Текущее наложение

вот как я хочу это:

rotatedOverlay

Есть ли способ повернуть чрезмерно с определенным углом?

или я могу повернуть mapView перед добавлением наложения, чтобы он мог соответствовать наложению

Спасибо,

1 ответ

Вы можете повернуть вид карты перед наложением на него, используя следующую строку кода:

self.mapView.transform = CGAffineTransformMakeRotation(x);

где x - это значение угла с плавающей точкой.

Я не думаю, что это решит вашу проблему, так как свойство boundingMapRect протокола MKOverlay будет по-прежнему получать те же значения широты и долготы. Наилучшим подходом к решению этой проблемы было бы создание полного изображения региона, отображаемого в виде карты.

Как это изображение с: http://www.raywenderlich.com/wp-content/uploads/2013/01/overlay_park.png

В этом уроке: оверлейные изображения и оверлейные виды с помощью учебного пособия MapKit Чезаре Рокки

источник: https://www.raywenderlich.com/30001/overlay-images-and-overlay-views-with-mapkit-tutorial

Аналогичный подход используется автором.

Здесь я предполагаю, что вы пытаетесь наложить прямоугольное изображение на область карты, которая не совсем прямоугольной формы. Вы можете проверить это по значениям широты и долготы (это прямоугольник, только если нижнее правое значение может быть получено из значений широты и долготы в верхнем правом и нижнем левом углу).

Другие вопросы по тегам