Intereting Posts
Как запустить IPhone, приложение IPad все еще находится в разработке на удаленном устройстве, я клиент NY в Чикаго? PFFile продолжает возвращать нуль, хотя данные регистрируются и устанавливается изображение Настройка обоев с помощью mdm Перенос исходного AppDelegate в группу в шаблоне XCode Какой метод (ы) в UIViewController вызывается только один раз, когда представление впервые представлено? viewDidLoad? Xcode iOS UIView с жестом tap, позволяющим вводить данные в подпунктах Сохранить представление UIImage как PNG8, а не PNG24? Ошибка: replaceObjectAtIndex: withObject:]: метод мутирования, отправленный на неизменяемый объект Различия между API iOS 7 и API iOS 6 Модальный переход через presentViewController: анимированный игнорирует анимацию UIWebView didFinishLoad не работает Приложение WatchKit «Разблокировка для активации» Что такое @selector директива в понимании разработчика C #? Совместное использование ресурса с помощью виджета с использованием фреймворка в iOS 8 Core audio.h не найден в моем проекте?

Есть ли способ синхронизировать вектор карты (слой OpenGL) и UIKit?

Скажем, у вас фиксированный штырь посередине экрана, используя UIImageView поверх GMSMapView . В какой-то момент потока мне нужно удалить фиксированный штырь и добавить его в качестве маркера на карте.

Это можно сделать, установив hidden свойство fixed pin в true а затем добавив GMSMarker в центр карты, используя тот же актив, что и UIImageView . Это работает, за исключением того, что есть визуальный сбой, поскольку добавление маркера касается слоя OpenGL, если скрытие булавки использует UIKit .

Есть ли способ синхронизировать эти две операции?

На самом деле, нет. См. Этот вопрос для обсуждения синхронизации OpenGL-UIKit – вывод заключается в том, что Apple имеет доступ к закрытому CAEAGLLayer.synchronized и никто не делает этого.

Это одна из причин того, почему Google ограничивает просмотр своих карт SDK до 30 кадров в секунду. Разработка поверх стороннего SDK особенно ограничивает возможности синхронизации, так как у вас нет / крайне ограниченного доступа к GLKView , CAEAGLLayer или EAGLContext .

Я бы предложил исследовать Mapbox GL для iOS, если вы ищете больше пространства для маневра и открытости. См. Этот вопрос о текущих усилиях по улучшению синхронизации между уровнями.