Ik wilde Google kaart weer te geven in een kaartweergave, waarop ik wil een polygoon / cirkel te tekenen.
Enig advies?
Ik wilde Google kaart weer te geven in een kaartweergave, waarop ik wil een polygoon / cirkel te tekenen.
Enig advies?
De manier waarop ik ben het lezen van uw vraag is dat u wilt programmatisch trekken de veelhoek op de kaart. Voor deze, raadpleeg de Apple docs op MapKit.
Je hoeft niet te transparant uitzicht over de MapKit kaart toe ( MKMapView). U maakt een overlay object, in dit geval een MKPolygon. (in het volgende voorbeeld, de variabele mapzal worden MKMapViewexemplaar waarvan de weergave controller die u zet deze code):
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];
Dan, als je wilt het uiterlijk (kleuren, beroerte, enz.) Van de overlay aan te passen, je de uitvoering van het MKMapViewDelegateprotocol in de weergave controller heb je dat eigenaar is van het MKMapViewobject en zorgen voor een implementatie van 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;
}
Natuurlijk, altijd onthouden om delegate de kaart instantie daadwerkelijk toe te wijzen aan de weergave controller (MKMapViewDelegate), hetzij in de Interface Builder, of in de code (bijvoorbeeld viewDidLoad).
Ik gebruikte ideeën van deze personen blog post om dit te bereiken. Het in feite gaat om het toevoegen van een transparant beeld over de kaart. De kaart laat dan u locaties om te zetten in punten op het uitzicht. Laat me weten als de site die u niet helpt en ik kan proberen en graven van een voorbeeld uit mijn code.