【问题标题】:How to customize multiple annotations? Parse-Swift如何自定义多个注解? Parse-Swift
【发布时间】:2015-09-02 05:50:30
【问题描述】:

我已经为此苦苦挣扎了好几天,但我仍然找不到解决方法。基本上我有这个地图视图,我从 Parse 获取注释数据(位置、标题、副标题),我想做的就是用自定义的替换默认引脚,当我只使用一个注释时我设法自定义一个但是对于多个它不起作用,这就是我添加注释的方法:

      func setAnnotations(){

    //Run query and get objects from parse, then add annotations
    var query = PFQuery(className: "Countries")
    query.orderByDescending("Location")
    query.findObjectsInBackgroundWithBlock{

        (objects:[AnyObject]?,error: NSError?)-> Void in

        if error == nil{

            let myObjects = objects as! [PFObject]
            for object in myObjects{

                 //data for annotation
                 var annotation = MKPointAnnotation()
                 let place = object["Location"] as? PFGeoPoint
                 let placeName = object["nameEnglish"] as? String
                 annotation.title = placeName
                 annotation.subtitle = placeName
                 annotation.coordinate = CLLocationCoordinate2DMake(place!.latitude,place!.longitude)

                 //add annotations
                 self.mapView.addAnnotation(annotation)
                }

        }else{println(error)}
    }
}

如何在这里应用“dequeueReusableAnnotationViewWithIdentifier”?

【问题讨论】:

  • 所有与解析相关的提取似乎都没有问题,所以我的猜测是该错误与您尝试显示注释的方式有关。您能否通过用自定义引脚替换默认引脚来详细说明您的意思?您的示例中似乎使用的是默认值。
  • 是的,我正在尝试用我拥有的自定义图像替换当前图像,这只是显示我从解析中获得的多个注释的代码,所以我的问题是我将如何应用“dequeueReusableAnnotationViewWithIdentifier " 在这种特定情况下添加自定义的。

标签: swift parse-platform annotations mapkit


【解决方案1】:

您将需要使用类似于this answerviewForAnnotation 委托方法。确保您还实现了 MKMapViewDelegate 协议并将您的控制器设置为委托。

除此之外,您需要做的就是更新您的查询以创建和添加您现在的自定义注释。

干杯, 罗素

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多