¿Hacer MKMapView de forma circular en ios?
Frecuentes
Visto 1,360 veces
0
Estoy trabajando en una aplicación donde tengo que hacer Mapa usando MKMapView
, pero con forma circular?
Cualquier idea sobre esto, cualquier pista sería útil también.
Vea en la captura de pantalla, tendrá una idea de lo que estoy preguntando.
Ver el mapa en círculo.
2 Respuestas
7
Aquí hay una manera complicada, ¡pero puede ser que quieras!
Añada QuartzCore.framework
#import <QuartzCore/QuartzCore.h>
//make circled shape
[yourMapView.layer setMasksToBounds:YES];
[yourMapView.layer setCornerRadius:160.0]; //here you've to pass width of yourMapView / 2
Emocionado de ver más respuestas!! :)
Respondido 28 ago 12, 10:08
1
En primer lugar, si hace esto mientras usa fotografías aéreas o satelitales, violará la Condiciones de servicio de Google Maps.
10 Restricciones de licencia. Salvo que se permita expresamente en los Términos, o a menos que haya recibido una autorización previa por escrito de Google (o, según corresponda, del proveedor de Contenido particular), las licencias de Google anteriores están sujetas a su cumplimiento de todas las restricciones a continuación. Salvo que se permita explícitamente en la Sección 7, usted no debe (ni puede permitir que nadie más lo haga):
...
10.7 eliminar, ocultar o alterar de cualquier manera cualquier advertencia, aviso (incluido, entre otros, cualquier aviso de derechos de autor u otros derechos de propiedad) o enlace que aparezca en el Servicio o el Contenido;
Cualquier circular MKMapView
probablemente ocultará el aviso de derechos de autor que se muestra con las fotografías.
podemos esperar MKMapView
pronto cambiará de usar datos de Google a datos de Apple, pero probablemente habrá un texto similar que no debe ocultar.
Con eso fuera del camino, hay dos formas de hacer que esto funcione:
- Crée un
UIView
subclase con un fondo transparente, haga sudrawRect
dibuje alrededor de un agujero circular, y haga supointInside:withEvent:
retorno de métodoNO
por el mismo agujero. Coloque una de estas vistas encima de suMKMapView
. - Crée un
CAShapeLayer
con un círculo opaco (o cualquier otra forma) y convertirlo en elmask
de losMKMapView
propialayer
. Esto permitirá que el mapa circular aparezca en cualquier lugar, pero aún será posible interactuar con sus esquinas invisibles.
Respondido 28 ago 12, 13:08
No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas iphone objective-c ios mapkit or haz tu propia pregunta.
stackoverflow.com/questions/1878595/… - wattson12
@wattson, revíselo una vez más, acabo de agregar más detalles. - Ishan Dhingra
No creo que este diseño cambie la respuesta. simplemente redondee la vista del mapa y agregue los otros detalles con superposiciones o como subvistas: wattson12