如何在 iOS Swift 中使用聚类解析自定义标记图标

Panagiotis Goutzianas

我有一个模型类,我可以在其中从JSON文件中解析我的项目

class Venue: NSObject, GMUClusterItem {

let name: String?
let locationName: String?
let position: CLLocationCoordinate2D
let image = GMSMarker()

init(name: String, locationName: String?, position: CLLocationCoordinate2D, image: GMSMarker)
{
    self.name = name
    self.locationName = locationName
    self.position = position
    //self.image = image

    super.init()
}

var subtitle: String? {
    return locationName
}

class func from(json: JSON) -> Venue?
{
    var name: String
    if let unwrappedTitle = json["name"].string {
        name = unwrappedTitle
    } else {
        name = ""
    }

    let locationName = json["location"]["address"].string
    let lat = json["location"]["lat"].doubleValue
    let long = json["location"]["lng"].doubleValue
    let position = CLLocationCoordinate2D(latitude: lat, longitude: long)
    let image = GMSMarker()

    return Venue(name: name, locationName: locationName, position: position, image: image)
}
}

在这里,在我获取数据后,我想在 mapView 中引入标记,并且我想用图像对其进行自定义。

    var venues = [Venue]()
private func generateClusterItems() {


    for venue in venues {

        let name = venue.name
        let position = venue.position
        let locationName = venue.locationName
        let image = GMSMarker()
        let item = Venue(name: name!, locationName: locationName, position: position, image: image)

            let markerView = UIImage(named: "K_Annotation.png")!
            image.icon = markerView

        clusterManager.add(item) 

    }

    clusterManager.cluster()
    clusterManager.setDelegate(self, mapDelegate: self)

}

但它不起作用。它给我带来了谷歌地图的默认标记。我不知道我做错了什么?

Panagiotis Goutzianas

找到的解决方案:这里在集群文件夹中启动 GMUDefaultClusterRenderer.m 中的类

 - (GMSMarker *)markerWithPosition:(CLLocationCoordinate2D)position
                         from:(CLLocationCoordinate2D)from
                     userData:(id)userData
                  clusterIcon:(UIImage *)clusterIcon
                     animated:(BOOL)animated {.....

......

我用这个替换原来的:

  if (clusterIcon != nil) {
marker.icon = clusterIcon;
marker.groundAnchor = CGPointMake(0.5, 0.5);
}else{
marker.icon = [UIImage imageNamed:@"K_Annotation.png"];
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在 iOS 版 GoogleMaps 中使用自定义标记进行标记聚类?

来自分类Dev

如何在iOS中使用.ttc自定义字体

来自分类Dev

如何在iOS 7中使用Swift设置rootViewController

来自分类Dev

我如何在Swift iOS的导航栏中使用图像

来自分类Dev

如何在Swift iOS 8中使用requestAccessToEntityType方法

来自分类Dev

如何在iOS Swift中使用Alamofire获得JSON响应?

来自分类Dev

如何在iOS中使用Swift声明块?

来自分类Dev

如何在iOS 9的SWIFT中使用json-data

来自分类Dev

如何在Swift iOS中使用变量的值

来自分类Dev

如何在 iOS Swift 3 中使用保护和条件?

来自分类Dev

如何在iOS Swift中对自定义FBSDK登录按钮执行操作

来自分类Dev

如何在 swift、iOS 中自定义价格按钮文本

来自分类Dev

如何使用Swift在IOS中的应用商店中使用自定义标头操作在Tableview中显示Collection View

来自分类Dev

如何在Swift / iOS中更新Google Maps标记位置

来自分类Dev

如何在Swift / iOS中解析Json并获取所需的值?

来自分类Dev

如何在Swift中解析为TextField iOS钥匙串?

来自分类Dev

如何在Swift / iOS中解析Json并获取所需的值?

来自分类Dev

如何在Swift中使用自定义解码器init和递增键解析JSON

来自分类常见问题

如何在Swift中使用XIB文件初始化/实例化自定义UIView类

来自分类Dev

如何在iOS Swift2中使用解析获取Google+登录的会话令牌

来自分类Dev

如何在Swift中自定义uibutton的类?

来自分类Dev

如何在Swift中创建自定义UITableViewCell类?

来自分类Dev

如何在此处进行地图标记单击(iOS Swift)

来自分类Dev

Swift / iOS:如何在Swift中使用地址(引用,指针)?

来自分类Dev

当最小目标平台是iOS 7.0时,如何在Swift中使用iOS 8.0 API?

来自分类Dev

如何使用Swift更改iOS 8自定义键盘高度?

来自分类Dev

如何在ios Swift中将数据发送到自定义标签栏控制器

来自分类Dev

如何在重叠的自定义文本视图中添加触摸事件/或手势 - swift ios

来自分类Dev

如何在SWIFT中使用附加参数创建自定义MKPolyline-颜色

Related 相关文章

  1. 1

    如何在 iOS 版 GoogleMaps 中使用自定义标记进行标记聚类?

  2. 2

    如何在iOS中使用.ttc自定义字体

  3. 3

    如何在iOS 7中使用Swift设置rootViewController

  4. 4

    我如何在Swift iOS的导航栏中使用图像

  5. 5

    如何在Swift iOS 8中使用requestAccessToEntityType方法

  6. 6

    如何在iOS Swift中使用Alamofire获得JSON响应?

  7. 7

    如何在iOS中使用Swift声明块?

  8. 8

    如何在iOS 9的SWIFT中使用json-data

  9. 9

    如何在Swift iOS中使用变量的值

  10. 10

    如何在 iOS Swift 3 中使用保护和条件?

  11. 11

    如何在iOS Swift中对自定义FBSDK登录按钮执行操作

  12. 12

    如何在 swift、iOS 中自定义价格按钮文本

  13. 13

    如何使用Swift在IOS中的应用商店中使用自定义标头操作在Tableview中显示Collection View

  14. 14

    如何在Swift / iOS中更新Google Maps标记位置

  15. 15

    如何在Swift / iOS中解析Json并获取所需的值?

  16. 16

    如何在Swift中解析为TextField iOS钥匙串?

  17. 17

    如何在Swift / iOS中解析Json并获取所需的值?

  18. 18

    如何在Swift中使用自定义解码器init和递增键解析JSON

  19. 19

    如何在Swift中使用XIB文件初始化/实例化自定义UIView类

  20. 20

    如何在iOS Swift2中使用解析获取Google+登录的会话令牌

  21. 21

    如何在Swift中自定义uibutton的类?

  22. 22

    如何在Swift中创建自定义UITableViewCell类?

  23. 23

    如何在此处进行地图标记单击(iOS Swift)

  24. 24

    Swift / iOS:如何在Swift中使用地址(引用,指针)?

  25. 25

    当最小目标平台是iOS 7.0时,如何在Swift中使用iOS 8.0 API?

  26. 26

    如何使用Swift更改iOS 8自定义键盘高度?

  27. 27

    如何在ios Swift中将数据发送到自定义标签栏控制器

  28. 28

    如何在重叠的自定义文本视图中添加触摸事件/或手势 - swift ios

  29. 29

    如何在SWIFT中使用附加参数创建自定义MKPolyline-颜色

热门标签

归档