Aby narysować wielokąt na mapie google z ram MapKit

głosy
5

Chciałem, aby wyświetlić mapę Google w widoku mapy, na której chcę narysować wielokąt / okrąg.

Jakakolwiek rada?

Utwórz 26/08/2009 o 12:42
źródło użytkownik
W innych językach...                            


2 odpowiedzi

głosy
6

Sposób Czytam Twoje pytanie jest to, że chcesz programowo narysować wielokąt na mapie. W tym celu należy zapoznać się z docs Apple na MapKit.

Nie trzeba dodawać przejrzyste widoki na mapie MapKit ( MKMapView). Utworzeniu nakładki obiektu, w tym przypadku MKPolygon. (w poniższym przykładzie, zmienna mapbędzie MKMapViewwystąpienie własnością kontrolera widoku, który można umieścić ten kod w):

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

Następnie, jeśli chcesz dostosować wygląd (kolory, udar mózgu, itd) z nakładki, należy wdrożyć MKMapViewDelegateprotokół w kontrolerze widoku masz, która jest właścicielem MKMapViewobiektu i zapewnić realizację 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;
}

Oczywiście, zawsze należy pamiętać, aby właściwie przypisać delegata instancji map do kontrolera widoku (MKMapViewDelegate), albo w konstruktora interfejsu, lub w kodzie (np viewDidLoad).

Odpowiedział 15/05/2012 o 08:00
źródło użytkownik

głosy
1

Kiedyś pomysły z tym osoby blogu do osiągnięcia tego celu. To w zasadzie polega na dodaniu przejrzysty widok na mapie. Mapa następnie pozwala na konwersję lokalizacje punktów na widoku. Daj mi znać, jeśli strona nie pomóc i mogę spróbować wykopać przykład z mojego kodu.

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

Odpowiedział 14/10/2009 o 20:59
źródło użytkownik

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