J'ai un MKOverlayView personnalisé, qui dessine une ligne simple. Dans drawMapRect:
Je suis en train de régler CGContextSetLineWidth(context, 30);
Cela semble très bien en zoom avant, mais lorsque vous effectuez un zoom arrière, la ligne devient de plus en plus mince. La référence MKOverlayView indique qu'elle est automatiquement mise à l'échelle au niveau de zoom de la carte. Comment puis-je le forcer à dessiner la même largeur quel que soit mon niveau de zoom? Je remarque que MKPolylineView (et MKPolygonView) le font correctement ... vous pouvez voir la largeur de la ligne redimensionner chaque fois que vous zoomez pour ajuster pour garder la même largeur. Comment puis-je faire cela dans mon overlayView?Custom MKOverlayView largeur de ligne
5
A
Répondre
14
Le résultat souhaité n'est pas clair. Voulez-vous que la largeur de ligne reste la même quel que soit le zoom ou voulez-vous que la ligne soit de la même largeur que les routes que dessine la carte, quel que soit le niveau de zoom?
Pour maintenir la largeur de ligne ne peu constante quelle que soit, essayez divisant par zoomScale:
CGContextSetLineWidth(context, (30/zoomScale));
Pour garder la ligne de la même largeur que les routes, utilisez MKRoadWidthAtZoomScale:
CGContextSetLineWidth(context, MKRoadWidthAtZoomScale(zoomScale));
Vous pourriez également appliquer une échelle supplémentaire à la largeur de la route si vous le souhaitez:
CGContextSetLineWidth(context, 1.5*MKRoadWidthAtZoomScale(zoomScale));
Questions connexes
- 1. Animated MKOverlayView
- 2. MKOverlayView Système de coordonnées
- 3. Coupure dans MKOverlayView: drawMapRect
- 4. MKOverlayView à faire pivoter
- 5. Supprimer un MKOverlayView personnalisé
- 6. Animation d'un MKOverlayView
- 7. MKOverlayView et touche
- 8. Saving MKOverlayView array -> plist
- 9. ios MapKit MKOverlayView animation se passe instantanément
- 10. Retourne une ligne vide dans Custom ArrayAdapter?
- 11. Custom Scroller
- 12. Largeur/Largeur max de la ligne de commande CSS?
- 13. custom class = custom + alloc, custom + init
- 14. Gros problèmes de dessin/compréhension d'un MKOverlayView sur un MKMapView
- 15. Largeur de ligne et précision d'ezplot
- 16. largeur de ligne fixe dans DataGrid quirk
- 17. CGContext donnant une largeur de ligne inattendue
- 18. Android drawLines - largeur de ligne différente
- 19. custom AuthorizeAttribute + custom SiteMapProvider related?
- 20. Custom CListCtrl
- 21. Largeur en ligne pour une largeur img ou css?
- 22. Blackberry Custom LabelField
- 23. UIScrollView Custom ViewController
- 24. Capture d'événements gesture sur MKOverlayView avec un UIGestureRecognizer
- 25. Custom toggler?
- 26. Exportation ReportViewer vers Excel - Largeur ligne variation
- 27. Bootstrap en ligne forme largeur des entrées
- 28. Largeur totale d'un élément en ligne enveloppant
- 29. retour à la ligne après largeur spécifique
- 30. UITableView avec Custom UITableViewCell
Je voulais la ligne consista Peu importe quoi. Je n'aurais jamais deviné que le fait de simplement diviser par le zoomscale ferait cela, ce qu'il a fait! Je savais que la largeur et le zoomscale devaient être inversement proportionnels, ce qui fait la division; mais je ne pensais pas que ce serait linéaire. – GendoIkari