Ich wollte Google-Karte in einer Kartenansicht angezeigt werden, auf dem ich ein Polygon / Kreis zeichnen möchten.
Irgendein Rat?
Ich wollte Google-Karte in einer Kartenansicht angezeigt werden, auf dem ich ein Polygon / Kreis zeichnen möchten.
Irgendein Rat?
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).
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.