假設您在屏幕中間使用UIImageView
,並在GMSMapView
之上有一個固定的針腳。在流程中的某一點,我需要移除固定的針腳並將其添加爲地圖上的標記。有什麼辦法可以同步地圖矢量(OpenGL層)和UIKit?
人們可以通過固定銷hidden
屬性設置爲true
,然後使用相同的資源爲UIImageView
添加在地圖的中心的GMSMarker
這樣做。這是有效的,除了有一個視覺故障,因爲添加標記觸及OpenGL層是否隱藏引腳使用UIKit
。
有什麼辦法來同步這兩個操作?
假設您在屏幕中間使用UIImageView
,並在GMSMapView
之上有一個固定的針腳。在流程中的某一點,我需要移除固定的針腳並將其添加爲地圖上的標記。有什麼辦法可以同步地圖矢量(OpenGL層)和UIKit?
人們可以通過固定銷hidden
屬性設置爲true
,然後使用相同的資源爲UIImageView
添加在地圖的中心的GMSMarker
這樣做。這是有效的,除了有一個視覺故障,因爲添加標記觸及OpenGL層是否隱藏引腳使用UIKit
。
有什麼辦法來同步這兩個操作?
不是。有關OpenGL-UIKit同步的討論,請參閱this question - 結論是,Apple可以訪問專用的CAEAGLLayer.synchronized
,而其他人則無法訪問。
這是Google將SDK地圖視圖限制爲30fps的原因之一,我想可以。在第三方SDK之上進行開發尤其會限制您的同步可能性,因爲您沒有/極其有限的訪問GLKView
,CAEAGLLayer
或EAGLContext
。
我建議你調查Mapbox GL for iOS如果你正在尋找更多的擺動室和開放。有關正在進行的改進層間視圖同步的努力,請參閱this issue。