Pentru a desena poligonul pe Google hartă cadru MapKit

voturi
5

Am vrut să afișeze Google hartă într-o vizualizare hartă pe care doresc să atragă un poligon / cerc.

Vreun sfat?

Întrebat 26/08/2009 la 12:42
sursa de către utilizator
În alte limbi...                            


2 răspunsuri

voturi
6

Modul în care am citit întrebarea dumneavoastră este că doriți să programatică desena poligonul pe hartă. Pentru aceasta, consultați docs Apple MapKit.

Nu aveți nevoie să adăugați vederi transparente peste harta MapKit ( MKMapView). Creați un suprapunere de obiect, în acest caz , o MKPolygon. (în exemplul următor, variabila mapva fi MKMapViewinstanța deținută de către controlorul de vedere pe care ai pus acest cod în):

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

Apoi, dacă doriți să personalizați aspectul (culori, accident vascular cerebral, etc.) al suprapunerii, vă pune în aplicare MKMapViewDelegateprotocolul în controlerul de vedere aveți care deține MKMapViewobiectul și să ofere o punere în aplicare a 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;
}

Desigur, amintiți - vă mereu pentru a atribui de fapt delegat harta instanță pentru a vizualiza controler (MKMapViewDelegate), fie în constructor de interfață, sau în cod ( de exemplu viewDidLoad).

Publicat 15/05/2012 la 08:00
sursa de către utilizator

voturi
1

Am folosit idei de la acest blog persoane pentru a realiza acest lucru. Este practic implică adăugarea de vedere transparent peste hartă. Harta apoi vă permite să convertiți locații la puncte de pe ecranul. Lasă-mă să știu dacă site-ul nu te ajuta și eu pot încerca și dezgropa un exemplu din codul meu.

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

Publicat 14/10/2009 la 20:59
sursa de către utilizator

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