Je voulais afficher Google map dans une vue carte sur laquelle je veux dessiner un polygone / cercle.
Aucun conseil?
Je voulais afficher Google map dans une vue carte sur laquelle je veux dessiner un polygone / cercle.
Aucun conseil?
La façon dont je lis votre question est que vous voulez programme dessiner le polygone sur la carte. Pour cela, consultez les documents d' Apple sur MapKit.
Vous n'avez pas besoin d'ajouter des vues transparentes sur la carte de MapKit ( MKMapView). Vous créez un overlay objet, dans ce cas , un MKPolygon. (dans l'exemple suivant, la variable mapsera l' MKMapViewinstance appartenant au contrôleur de vue que vous mettez ce code dans):
CLLocationCoordinate2D points[4];
points[0] = CLLocationCoordinate2DMake(41.000512, -109.050116);
points[1] = CLLocationCoordinate2DMake(41.002371, -102.052066);
points[2] = CLLocationCoordinate2DMake(36.993076, -102.041981);
points[3] = CLLocationCoordinate2DMake(36.99892, -109.045267);
MKPolygon* poly = [MKPolygon polygonWithCoordinates:points count:4];
poly.title = @"Colorado";
[map addOverlay:poly];
Ensuite, si vous voulez personnaliser l'apparence (couleurs, temps, etc.) de la superposition, vous mettre en œuvre le MKMapViewDelegateprotocole dans le contrôleur de vue que vous avez propriétaire de l' MKMapViewobjet et de fournir une implémentation de mapView:viewForOverlay:
- (MKOverlayView *)mapView:(MKMapView *)mapView viewForOverlay:(id <MKOverlay>)overlay
{
if ([overlay isKindOfClass:[MKPolygon class]])
{
MKPolygonView* aView = [[[MKPolygonView alloc] initWithPolygon:(MKPolygon*)overlay] autorelease];
aView.fillColor = [[UIColor cyanColor] colorWithAlphaComponent:0.2];
aView.strokeColor = [[UIColor blueColor] colorWithAlphaComponent:0.7];
aView.lineWidth = 3;
return aView;
}
return nil;
}
Bien sûr, rappelez - vous toujours d'attribuer effectivement le délégué de l' instance de carte à votre contrôleur de vue (MKMapViewDelegate), que ce soit dans le générateur d'interface, ou dans le code (par exemple viewDidLoad).
Je idées de cette personne de blog à cette fin. Il consiste essentiellement à ajouter une vue transparente sur la carte. La carte vous permet ensuite de convertir les emplacements des points sur la vue. Faites-moi savoir si le site ne vous aide pas et je peux essayer de déterrer un exemple de mon code.