So zeichnen Polygon auf google Karte mit MapKit Rahmen

stimmen
5

Ich wollte Google-Karte in einer Kartenansicht angezeigt werden, auf dem ich ein Polygon / Kreis zeichnen möchten.

Irgendein Rat?

Veröffentlicht am 26/08/2009 um 12:42
quelle vom benutzer
In anderen Sprachen...                            


2 antworten

stimmen
6

Die Art , wie ich Ihre Frage gerade lese ist , dass Sie wollen programmatisch das Polygon auf der Karte ziehen. Dazu finden Sie in den Apple - docs auf MapKit.

Sie brauchen nicht transparent Blick über die MapKit Karte hinzufügen ( MKMapView). Sie erstellen ein Overlay - Objekt, in diesem Fall ein MKPolygon. (im folgenden Beispiel wird die Variable mapwird die sein , MKMapViewetwa durch die View - Controller im Besitz , die Sie diesen Code setzen in):

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];

Dann, wenn Sie das Aussehen (Farben, Schlaganfall, etc.) anpassen möchten der Overlay, implementieren Sie das MKMapViewDelegateProtokoll im View - Controller haben Sie , dass die Eigentümer MKMapViewObjekt und bieten eine Implementierung 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;
}

Natürlich, immer daran denken , um tatsächlich die Karte Instanz delegieren zu Ihrem View - Controller (MKMapViewDelegate), entweder in der Interface Builder oder in Code zuweisen ( zum Beispiel viewDidLoad).

Beantwortet am 15/05/2012 um 08:00
quelle vom benutzer

stimmen
1

Früher habe ich Ideen aus dieser Personen Blog-Post, dies zu erreichen. Es geht im Grunde eine transparente Sicht auf der Karte hinzufügen. Die Karte ermöglicht Ihnen dann Standorte Punkte auf der Ansicht zu konvertieren. ein Beispiel aus meinem Code Lassen Sie mich wissen, ob die Website hilft Ihnen nicht, und ich kann versuchen und graben.

http://spitzkoff.com/craig/?p=65

Beantwortet am 14/10/2009 um 20:59
quelle vom benutzer

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more