我正在使用以下代码查看标记何时进入屏幕:
let visibleRegion = mapView.projection.visibleRegion()
let bounds = GMSCoordinateBounds(region: visibleRegion)
for i in stride(from: 0, to: markers.count, by: 1){
let marker = markers[i]
if bounds.contains(marker.position) {
print("Is present on screen")
print(marker.position)
} else {
// Marker not on the screen
}
}
这有效,当我在标记上滚动地图时,会得到打印输出。
我有3万个标记,可能需要将它们放置在地图上。标记以不同的缩放级别显示,并且仅在用户能够看到它们时才需要加载。
标记是一个圆形的图像视图,因此您可以想象将3万张图片加载到地图中是一项艰巨的任务。
我在Lon / Lat / ImageURL中加载了JSON。
当标记离开屏幕时,我需要取消它们的标记吗?谷歌地图注释是否像表视图单元一样重复使用?我应该仅在JSON中的某个位置位于地图范围内时创建标记,还是可以将它们添加到地图中就将其添加到地图中吗?我应该使用哪种优化工具?
感谢这里的任何提示