【问题标题】:Is there any way to synchronize the Map Vector (OpenGL layer) and UIKit?有什么方法可以同步 Map Vector(OpenGL 层)和 UIKit?
【发布时间】:2015-05-13 14:20:41
【问题描述】:
假设您在屏幕中间有一个固定大头针,在 GMSMapView 顶部使用 UIImageView。在流程中的某个时刻,我需要移除固定销并将其添加为地图中的标记。
可以通过将固定引脚hidden 属性设置为true,然后使用与UIImageView 相同的资产在地图中心添加GMSMarker 来实现。除了隐藏 pin 使用 UIKit 时,添加标记会触及 OpenGL 层会出现视觉故障。
有没有办法同步这两个操作?
【问题讨论】:
标签:
ios
google-maps
opengl-es
google-maps-sdk-ios
【解决方案1】:
不是真的。有关 OpenGL-UIKit 同步的讨论,请参阅 this question — 结论是 Apple 可以访问私有的 CAEAGLLayer.synchronized,而其他人没有。
我想这就是 Google 将其 SDK 地图视图限制为 30fps 的部分原因。在第三方 SDK 之上进行开发尤其会限制您的同步可能性,因为您无法/非常有限地访问 GLKView、CAEAGLLayer 或 EAGLContext。
如果您正在寻找更多的回旋余地和开放性,我建议您调查Mapbox GL for iOS。请参阅this issue,了解为改进层间视图同步所做的持续努力。