Giter VIP home page Giter VIP logo

Comments (7)

maxep avatar maxep commented on June 16, 2024

Hi,

CKAnnotation inherits from MKAnnotation, you just need to use CKAnnotation:

class MyAnnotations: NSObject, CKAnnotation{
    
    weak public var cluster: CKCluster?
    
    var coordinate: CLLocationCoordinate2D
    var title: String?
    var subtitle: String?
    var name: String?
    var size: String?
    var user: String?
    var owner: String?
    var image: String?
    var latLoc: Double?
    var lonLoc: Double?
    var itemId: String?
    
    init(coordinate: CLLocationCoordinate2D) {
        self.coordinate = coordinate
    }
}

Then, you have to assign an array of annotation to the cluster manager, not a single one.

from clusterkit.

HaVaNa77 avatar HaVaNa77 commented on June 16, 2024

Thnx mcaxep, i made an array:
var newArray:[Annotation] = []
then i add annotations to that array:
self.newArray.append(annotation)

but when i do this i get the same error...

Can you help me?

from clusterkit.

maxep avatar maxep commented on June 16, 2024

I cannot reproduce your issue in the swift exemple project, I tried with:

mapView.clusterManager.annotations = [MyAnnotations(coordinate: CLLocationCoordinate2D(latitude: 48.853, longitude: 2.35))]

from clusterkit.

HaVaNa77 avatar HaVaNa77 commented on June 16, 2024

Ok i found the problem ( var newArray:[Annotation] = []) had to be var newArray:[MyAnnotations]

Thnx!

from clusterkit.

HaVaNa77 avatar HaVaNa77 commented on June 16, 2024

Sorry again, i'm quite there but.. in the function:

func mapView(_ mapView: MKMapView, viewFor annotation: MKAnnotation) -> MKAnnotationView? {
      
      let annotationView = mapView.dequeueReusableAnnotationView(withIdentifier: "annotation") ??
          MKAnnotationView(annotation: annotation, reuseIdentifier: "annotation")
      
      if let cluster = annotation as? CKCluster {
          
          if cluster.count > 1 {
              annotationView.canShowCallout = false
              annotationView.image = UIImage(named: "cluster")
          } else {
           annotationView.canShowCallout = true
           annotationView.image = UIImage(named: "marker")

i added:

let MyAnnotations = annotation as! MyAnnotations
if MyAnnotations.user == userID {.........

because i've to access MyAnnotation properties but compiler shows me this error:

Could not cast value of type 'NSKVONotifying_CKCluster' (0x608000106540) to 'app.MyAnnotations' (0x1071d61f8).

from clusterkit.

maxep avatar maxep commented on June 16, 2024

Yes because the annotation parameter is indeed a CKCluster, that cluster represents a group of annotation. These annotations are accessible in the annotations property of the cluster.

from clusterkit.

HaVaNa77 avatar HaVaNa77 commented on June 16, 2024

can you make me a simple example of how can i access them please? I really need to access properties like size that is defined MyAnnotation class, sorry about being stressing but i'm too to understand well your code..

from clusterkit.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.