내가MKZoomScale와 크기 조정 MKAnnotationView - 2.0
크기를 조정할 수있을 것이다 주석 나는 이미지를 포함하는 사용자 정의 내가
class MapAnnotation: NSObject, MKAnnotation {
var coordinate: CLLocationCoordinate2D
var image: UIImage? = UIImage(named: "image")
init(coordinate: CLLocationCoordinate2D) {
self.coordinate = coordinate
}
}
를 만들어 주석과 annotationView을 만들려고 노력하고있어 신속한.
func mapView(mapView: MKMapView, viewForAnnotation annotation: MKAnnotation) -> MKAnnotationView? {
if let annotation = annotation as? MapAnnotation {
var pin = mapView.dequeueReusableAnnotationViewWithIdentifier("myCustomAnnotation")
if pin == nil {
pin = MKAnnotationView(annotation: annotation, reuseIdentifier: "myCustomAnnotation")
}
pin!.image = annotation.image
return pin
}
return nil
}
mapView의 크기를 조정할 때 MKAnnotationView의 크기가 조정되기를 원합니다.
MKOverlayRenderer에는 zoomScale : MKZoomScale 매개 변수가 포함 된 drawMapRect(mapRect: MKMapRect, zoomScale: MKZoomScale, inContext context: CGContext)
함수가 있다는 것을 알고 있습니다.
let zoomScale: MKZoomScale = mapView.bounds.size.width/
CGFloat(mapView.visibleMapRect.size.width)
를하지만하여 drawMapRect
함수에서 MKZoomScale
에 대한 액세스 권한이 아닌 사용자 정의 방식을 원한다.
즉 MKOverlayRenderer를 MKAnnotationView 대신 만들 필요가 있습니다. MKOverlay가지도에 그리기 때문에지도에 그려지지 않은 annotationView를 만들고 싶습니다.
그 후에 MKZoomScale을 MKZoomScale 1에서 0.25 사이의 크기로 조정하려는 MKZoomScale과 MKZoomScale이 0.25보다 작 으면 annotationViews가 사라질 것입니다.
도와 주셔서 감사합니다.
는 MKZoomScale 함수 에'drawMapRect 그냥 때문이다. MKCoordinateSpan을 사용하려면 이미 사용하고 있습니다. 당신은'drawMapRect' 함수를 사용하고'zoomScale'을 출력 할 수 있습니다. 그리고 이것으로 여러분은 제가 말하고자하는 것을 볼 수 있습니다. – KillerDeveloper