Ich versuche eine MKOverlay
(speziell eine MKPolyline
) zu verwenden, um eine Route auf der Karte anzuzeigen. Allerdings brauche ich die Route, um über meine vorhandenen Pins (benutzerdefinierte MKAnnotationView
s) zu zeigen. Gibt es eine gute Möglichkeit, die MKPolyline
über den Pins nach vorne zu bringen?Wie zeige ich MKOverlay über MKAnnotations?
Antwort
Es könnte nützlich sein, die Eigenschaft des Annotation Layers zu untersuchen. Wenn Sie die Anmerkungen rückwärts in der Hierarchie Ihrer Superview senden, können Sie den gewünschten Effekt erzielen. Das Ändern der Annotations-Z-Achsenposition sollte wahrscheinlich innerhalb der Delegatenmethode mapView:didAddAnnotationViews:
erfolgen.
- (void)mapView:(MKMapView *)mapView didAddAnnotationViews:(NSArray *)views {
annotationView.layer.zPosition = x;
}
Es ist eine Weile her, dass ich mit MKPolyline
beschäftigt habe, und ich weiß, was eine Menge in iOS 8 geändert, aber Sie könnten in der Lage sein, direkt die Polylinie der z-Position zu manipulieren, während Sie es zeichnen.
UPDATE
Wenn Sie Ihre MKOverlay
auf der Karte hinzufügen, in iOS 7.0+ starten, verwenden Sie die addOverlay:level:
Methode. Damit können Sie die z-Position des Overlays festlegen. Einer der höchsten z-Positionen für das Overlay wie durch MKOverlayLevels
definiert ist MKOverlayLevelAboveLabels
:
Legen Sie das Overlay oben Karte Etiketten, Schilder oder Point-of-Interest Symbole, aber unter Anmerkungen und 3D-Projektionen von Gebäuden.
Wie in der obigen Dokumentation erwähnt, unterstützt die Karte leider nicht das Platzieren von Overlays über Annotationen. Eine mögliche Lösung könnte darin bestehen, die Anmerkungen einem separaten MKOverlay
-Objekt hinzuzufügen und dann die andere Überlagerung (mit dem Pfad) unter Verwendung von insertOverlay:aboveOverlay:
zur Karte hinzuzufügen.
- 1. MKOverlay verschwindet manchmal
- 2. Wie kann ich MKAnnotations automatisch bezüglich der Zoomstufe gruppieren?
- 3. Wie zeige ich Fortschrittsbalken von einem Shell-Befehl über ssh
- 4. Wie zeige ich eine Textbearbeitungsbox "über" dem Bildschirm?
- 5. Wie zeige ich ein Ladeetikett über einem UITableView an?
- 6. Wie zeige ich Text über die Kamera Cordova/Phonegap?
- 7. Wie zeige ich Tooltips in Tkinter an?
- 8. Wie zeige ich Tooltip wenn ich schwebe?
- 9. Wie zeige ich MJPEG Stream in UWP
- 10. Wie zeige ich, wie viele sind Online
- 11. Verhindern, dass Overlays beim Zoomen verschwinden - MKMapView & MKOverlay
- 12. zoom in, zoom out auf mkmapview zeigt die versteckten mkannotations
- 13. Wie zeige ich Informationen während ich den Mauszeiger über die Checkbox halte?
- 14. Zeige eine Nachricht über eine UITableView
- 15. AngularJS: Zeige Tooltip über dem Kreis
- 16. Wie zeige ich Crystal Reports von GridView?
- 17. Wie zeige ich ein Bild mit ltk?
- 18. UIPickerView Wie zeige ich nichts ausgewählt?
- 19. Wie zeige ich Iframe in einem div?
- 20. Wie zeige ich meine Daten an?
- 21. Wie zeige ich Emoji in UILabel iOS
- 22. Wie zeige ich Beziehungen in Enterprise Architect
- 23. Wie zeige ich das Abfrageergebnis an?
- 24. Wie zeige ich zwei Sektionen nebeneinander an?
- 25. Wie zeige ich Git Farben auf Zsh?
- 26. IOS - Wie zeige ich einen "uʍop" Text?
- 27. Wie zeige ich einen zweifarbigen Bereich?
- 28. Wie zeige ich AxesSubplot in Python an?
- 29. Wie zeige ich in JTextarea oder JTable
- 30. Wie zeige ich eine Benachrichtigung in IntelliJ?
zPosition scheint nur die Annotationen relativ zueinander zu beeinflussen - Overlays scheinen immer hinter jeder Annotation zu stehen – bplattenburg
Leider bin ich nicht sicher, ob es möglich ist, die Annotationen in einem Overlay zu erstellen (siehe mein Update)). Es scheint, dass Apple angenommen hat, dass Anmerkungen und Überlagerungen separate Bereiche benötigen. Kann ich fragen, warum Sie den Pfad über den Anmerkungen benötigen? –
Hm, das könnte funktionieren. Vielen Dank. Wahrscheinlich ist es zu diesem Zeitpunkt die Mühe nicht wert. Was ich versuche, ist eine Route und nicht verwandte Pins gleichzeitig zu zeigen, aber die Route ist wichtiger und sollte über die Pins zeigen. – bplattenburg