Yardım gerekli şimdi. MKPolyline ve MKPolylineView ile çizgiler çizebilirim, ancak MKMapView'daki iki koordinat arasında bir yay veya eğri çizgileri nasıl çizilir? Harika teşekkürler. Final SolutionMKMapView'da MKOverlayView ile ark/eğri çizgisi nasıl çizilir
Sonunda bunu isteyen yardımcı olmak için burada kendimi bu sonuçlara yazdı.
Eğer isterseniz:
Yani birleştirmek
- sadece harita üzerinde ark yol çizmek çözümler şunlardır:
- MKPolyline ve MKPolylineView, MKCircle ve MKCircleView daireler çizmek için,MKPolygon ve MKPolygonView çokgen çizmek için çizgiler çizmek için vardır. Kimse uymuyor mu? Bir yay nerede? Oh evet. Şimdi gerçekten çözüm: MKOverlayPathViewtüretilen özel bir sınıf oluşturmak ve geçersiz -createPath yöntemi, bir yay sizin gibi CGContextAddArcToPoint veya başkalarının işlevlerini kullanın oluşturmak -createPath yılında ve sadece seni yolunu ilişkilendirmek MKOverlayPathView yol özelliğine oluşturmak ve özel işler yapılır. Sonra haritaya MKPolyline eklersiniz (Evet! Sadece MKPolyline!), Daha sonra -mapView: viewForOverlay: yöntemini kullanarak özel sınıf oluşturun bu polyline. O zaman koş, her şey istediğin gibi çalışır. Sihirli? Bir yay olarak bir MKPolyline çizebilirsiniz!
- Sadece bir resim? MKAnnotationView'u kullanın. Bitti! bunu yapabilirsin! Buna inanıyorum!
- Sorunumda, bindirme içinde bir görüntü içeren bir yay çizmek istiyorum. Bu yüzden, özel bir sınıf oluşturmak için MKOverlay protokolüne ve bu kaplamayı çizmek için MKOverlayView türetilmiş özel bir sınıf oluşturuyorum. Her şey yolunda gidiyor ama harita üzerinde herhangi bir yol çizemiyorum! LineWidth'ı 1,2,3,4'e ayarlıyorum ... ama işe yaramadı! Ah .. çözüm hattı genişliği MKRoadWidthAtZoomScale (zoomScale) işlevi ile ayarlanır ve yolu görebilirsiniz! Yani ......
bitti Ve burada bazı ipuçları:
- Kullanım Çekirdek Grafik yolları değil, MapKit koordinatları ne de UIView koordinatları çizmek için!Sadece akılda çizgi genişliğini tutmak CG işlevlerinde
- bu işlev tarafından dönüştürülmesi gerekir: Belgelerin okunması
Merhaba, haritanızda sadece ark yolu çizmeye yönelik çözümünüzü deniyorum, ancak bazı sorunlar yaşıyorum ... Bana biraz kod gösterebilir misiniz? Çünkü bunu gerçekten uygulamamda yapmam gerekiyor. Şimdiye kadar herhangi bir çalışma bulmak ... Şimdiden teşekkürler! Ben – Ben
Merhaba, @Ben. Ve haritanızda ne çizmek istersin? – Shiny
Teşekkürler! Bölüm 1'de ne demek istediniz: "Sonra -mapView: viewForOverlay: yönteminde özel sınıf oluşturduğunuzda bu çoklu çizgiyi al." Yapmalı mıyım: [[ÖZEL-SINIF tahsisatı] initWithOverlay: THE-MKPOLYLINE-OVERLAY] – spiralstairs