如何在谷歌地图中显示集群时隐藏标记
Posted
技术标签:
【中文标题】如何在谷歌地图中显示集群时隐藏标记【英文标题】:How to hide marker while showing cluster in Google Map 【发布时间】:2017-09-13 22:10:30 【问题描述】:我将 Google Map 和 Google-Maps-ios-Utils 用于应用。
如何在只显示集群的同时隐藏标记?
https://developers.google.com/maps/documentation/ios-sdk/utility/marker-clustering
【问题讨论】:
你的意思是你不想显示定位销? 你能提供代码吗? @DharmeshKheni 是的 @JackyShek 我的代码是 Google 代码。 developers.google.com/maps/documentation/ios-sdk/utility/… 您的代码一定有问题,请提供您自己的代码帮助我们解决。 【参考方案1】:import UIKit
class CustomClusterRenderer: GMUDefaultClusterRenderer
let GMUAnimationDuration: Double = 0.5
var mapView: GMSMapView?
override init(mapView: GMSMapView, clusterIconGenerator iconGenerator: GMUClusterIconGenerator)
super.init(mapView: mapView, clusterIconGenerator: iconGenerator)
self.mapView = mapView
func markerWith(position: CLLocationCoordinate2D, from: CLLocationCoordinate2D, userData: AnyObject, clusterIcon: UIImage, animated: Bool) -> GMSMarker
let initialPosition = animated ? from : position
let marker = GMSMarker(position: initialPosition)
marker.userData = userData
marker.icon = clusterIcon
marker.groundAnchor = CGPoint(x: 0.5, y: 0.5)
marker.map = mapView
if animated
CATransaction.begin()
CAAnimation.init().duration = GMUAnimationDuration
marker.layer.latitude = position.latitude
marker.layer.longitude = position.longitude
CATransaction.commit()
return marker
func getCustomUIImageItem(userData: AnyObject) -> UIImage
if let item = userData as? Marker
return item.merkerIcon
return UIImage()
override func shouldRender(as cluster: GMUCluster, atZoom zoom: Float) -> Bool
print("Zoom Level is \(zoom) , and result is \(zoom<=14)")
return zoom <= 14;
class Marker: NSObject, GMUClusterItem
var position: CLLocationCoordinate2D
var estate: Estate
init(estate: Estate)
self.estate = estate
self.position = CLLocationCoordinate2D(latitude: estate.latitude,longitude: estate.longitude)
【讨论】:
【参考方案2】:简单的答案是转到您的 pod 文件,或者如果您手动添加,请转到 GMUDefaultClusterRenderer.m 类
简单的就是改变顶行
static const NSUInteger kGMUMinClusterSize = 2;
您的问题已解决,谢谢
希望对你有帮助
【讨论】:
【参考方案3】:在 GMUDefaultClusterRenderer.m 类上添加一行
static const NSUInteger kGMUMinClusterSize = 2;
问题已解决
【讨论】:
以上是关于如何在谷歌地图中显示集群时隐藏标记的主要内容,如果未能解决你的问题,请参考以下文章
在谷歌地图javascript api中 - 如何移动地图而不是标记
单击标记时,新按钮会自动出现在谷歌地图(Android)上?如何删除?