0

それぞれの場所に一連のピンがある mapKit の従来のマップがあります。マップを非表示にしながら、ピンを同じ場所に保持しようとしています。これを行う方法はありますか?ありがとうございました、

4

1 に答える 1

0

OK、これは私が本当に興味をそそられたことを認めなければなりません! オーバーレイの追加に関する興味深いハックがあるのではないかと思いますが、あなたが望むことを行うためのクリーンな方法はわかりません。

試してみたい解決策の 1 つは、 を使用viewForAnnotation()してマップ上の各ピン アノテーションの位置を引き出し、それをビューに変換してから、その場所にカスタム ビューを追加することです。次に、偽のピンをそのままにして、マップ全体を非表示にすることができます (ピンが非表示になります)。

私の頭の上から、それは次のようになります:

let annotations = mapView.annotations

for annotation in annotations {
    if let annotationView = mapView.viewForAnnotation(annotation) {
        let transformedFrame = view.convertRect(annotationView.frame, fromView: annotationView.superview)

        let testView = UIView(frame: transformedFrame)
        testView.backgroundColor = UIColor.redColor()

        view.addSubview(testView)
    }
}

ただし、マップ ビューが移動すると問題が発生するため、偽のピンを追跡して適切に移動する必要がある場合があります。

于 2015-12-13T21:24:38.783 に答える