Tengo una MKOverlayView personalizada, que dibuja una línea simple. En drawMapRect:
configuro CGContextSetLineWidth(context, 30);
Esto se ve bien cuando se amplía por completo, pero cuando se aleja, la línea se vuelve más y más delgada. La referencia MKOverlayView dice que se escala automáticamente al nivel de zoom del mapa. ¿Cómo puedo forzarlo a dibujar el mismo ancho sin importar mi nivel de zoom? Noté que MKPolylineView (y MKPolygonView) hacen esto correctamente ... puedes ver el ancho de la línea cambiar de tamaño cada vez que acercas para ajustar para mantener el mismo ancho. ¿Cómo puedo hacer esto en mi overlayView?Anchura de línea MKOverlayView personalizada
5
A
Respuesta
14
No está claro el resultado que desea. ¿Desea que el ancho de línea permanezca igual independientemente del zoom o desea que la línea tenga el mismo ancho que las carreteras que dibuja la vista de mapa independientemente del nivel de zoom?
Para mantener la línea de anchura algo constante no importa qué, intente dividir por zoomScale:
CGContextSetLineWidth(context, (30/zoomScale));
Para mantener la línea de la misma anchura que las carreteras, utilice MKRoadWidthAtZoomScale:
CGContextSetLineWidth(context, MKRoadWidthAtZoomScale(zoomScale));
Usted podría también aplique una escala adicional al ancho de la carretera si lo desea:
CGContextSetLineWidth(context, 1.5*MKRoadWidthAtZoomScale(zoomScale));
Cuestiones relacionadas
- 1. MKOverlayView y toques
- 2. Animar un MKOverlayView
- 3. Cómo dibujar la línea de arco/curva con MKOverlayView en MKMapView
- 4. Ajuste de la anchura de los elementos en línea
- 5. dos divs la misma línea, una anchura dinámico, uno fijo
- 6. ios MapKit animación MKOverlayView pasando al instante
- 7. ¿Cómo mostrar una imagen en un MKOverlayView?
- 8. Android llegar Fragmento anchura
- 9. línea de comandos personalizada analizar en Python
- 10. anchura Fluid posición fija
- 11. jQuery: real anchura div
- 12. aumento Charfield anchura
- 13. frontera matplotlib anchura
- 14. ObjectAnimator animar LinearLayout anchura
- 15. Anchura de Fancybox no aplicada
- 16. Cambiar la coordenada de MKOverlay para un MKOverlayView
- 17. CSS: anchura de un enlace no cambiar estableciendo el atributo de anchura
- 18. ¿Cuál es el propósito de establecer anchura igual a un asterisco en los estilos en línea?
- 19. no poder hacer anchura máxima
- 20. display: inline restablece altura y la anchura
- 21. Cómo obtener una cadena de anchura
- 22. anchura fija de la columna jqGrid?
- 23. jQuery - establecer anchura div a suma de sus hijos
- 24. GetSupportedPreviewSize devuelve anchura y altura inversas
- 25. CSS 100% o MAX-anchura en píxeles
- 26. SVG, texto, fuente con anchura/altura fija
- 27. tabular látex anchura igual a la textwidth
- 28. anchura y altura problema con FancyBox
- 29. diferencia entre Android: anchura y android: layout_width
- 30. Látex: hfill a una cierta anchura
Yo quería la línea consista nt no importa qué. ¡Nunca hubiera adivinado que solo dividir por el zoomScale haría eso, y lo hizo! Sabía que el ancho y el zoomScale debían ser inversamente proporcionales, lo que hace la división; pero no pensé que sería lineal. – GendoIkari