首页 > 解决方案 > 优化 Google Map ios sdk 上的许多标记?

问题描述

我正在使用以下代码查看标记何时进入屏幕:

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
        }
    }

这很有效,当我在标记顶部滚动地图时,我会得到打印输出。

我有 30k 个标记,我可能需要将它们放置在地图上。标记以不同的缩放级别显示,并且仅在用户能够看到它们时才需要加载。

标记是一个圆形的图像视图,因此您可以想象将 3 万张图片加载到地图中是一项艰巨的任务。

我在 Lon/Lat/ImageURL 中加载了 JSON。

我是否需要在标记离开屏幕时对其进行初始化并在它们进入屏幕时对其进行初始化?谷歌地图注释是否像 tableview 单元格一样重用?我应该只在我的 JSON 中的某个位置在地图范围内时才创建标记,还是我可以创建它们并且只在它们在范围内时才将它们添加到地图中?我应该使用什么样的优化工具?

感谢这里的任何提示

标签: iosswiftgoogle-maps

解决方案


推荐阅读