我在谷歌地图中使用GMUClusterItem来加载项目。
我可以使用下面的代码(它的样本)加载项目
let item = POIItem(position: CLLocationCoordinate2DMake(38.6646184, -120.9465773, name: "")
clusterManager.add(item)
工作正常
但我的问题是删除某个特定项目。
我尝试了以下代码
let item = POIItem(position: CLLocationCoordinate2DMake(38.6646184, -120.9465773), name: "")
clusterManager.remove(item)
但它不起作用
那里有错吗?如果是这样,请帮我删除特定项目。
由于
答案 0 :(得分:3)
您的代码clusterManager.remove(item)
会从地图中删除标记,但您是否刷新了地图?您需要再次调用clusterManager.cluster()
来更新地图渲染。
DispatchQueue.main.async {
self.clusterManager.cluster()
}
(使用Swift 3)
答案 1 :(得分:0)
使用POIItem创建数组
var markers: [POIItem] = []
在添加到集群
之前将POIItem附加到数组markers.append(item)
何时要从群集中删除标记 p>
if let marker = markers.first as? GMUClusterItem {
clusterManager.remove(marker)
}