Chcete-li nakreslit mnohoúhelník na google mapě s rámcem MapKit

hlasů
5

Chtěl jsem k zobrazení mapy Google do zobrazení mapy, na kterém chci nakreslit polygon / kruh.

Nějaká rada?

Položena 26/08/2009 v 12:42
zdroj uživatelem
V jiných jazycích...                            


2 odpovědí

hlasů
6

To, jak jsem četl vaši otázku je, že chcete, aby programově nakreslit mnohoúhelník na mapě. Za tímto účelem konzultovat dokumenty jablko na MapKit.

Nepotřebujete přidat průhledné výhled na mapě MapKit ( MKMapView). Vytvoření překryvného objektu, v tomto případě MKPolygon. (v následujícím příkladu proměnné mapbude MKMapViewinstance ve vlastnictví kontroleru pohledu, který vložíte tento kód):

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

Potom, pokud chcete přizpůsobit vzhled (barvy, mrtvice, atd) z překryv, implementovat MKMapViewDelegateprotokol v kontroleru pohledu máte, která vlastní MKMapViewobjekt a poskytnout plnění 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;
}

Samozřejmě, vždy na paměti, aby skutečně přiřadit delegáta mapou instance do svého pohledu regulátoru (MKMapViewDelegate), a to buď v stavitel rozhraní, nebo v kódu (např viewDidLoad).

Odpovězeno 15/05/2012 v 08:00
zdroj uživatelem

hlasů
1

Použil jsem nápady z této osoby blogu, jak toho dosáhnout. Je to v podstatě spočívá v přidání transparentní výhled na mapu. Mapa pak umožňuje převádět umístění bodů na pohled. Dejte mi vědět, zda je daná lokalita nepomůže a mohu pokusit vykopat příklad z mého kódu.

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

Odpovězeno 14/10/2009 v 20:59
zdroj uživatelem

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