Чтобы нарисовать многоугольник на Google карту с рамками MapKit

голоса
5

Я хотел, чтобы отобразить карту Google в виде карты, на которой я хочу нарисовать многоугольник / круг.

Любой совет?

Задан 26/08/2009 в 12:42
источник пользователем
На других языках...                            


2 ответов

голоса
6

То , как я читаю ваш вопрос в том , что вы хотите программно рисовать многоугольник на карте. Для этого обратитесь к документации Apple , на MapKit.

Вам не нужно , чтобы добавить прозрачный вид на карту MapKit ( MKMapView). Вы создаете наложение объект, в данном случае MKPolygon. (в следующем примере, переменная mapбудет MKMapViewэкземпляр принадлежит контроллер представления , что вы кладете этот код):

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

Затем, если вы хотите , чтобы настроить внешний вид (цвет, инсульт и т.д.) наложений, вы реализуете MKMapViewDelegateпротокол в контроллере представления у вас есть , что является владельцем MKMapViewобъекта и обеспечить реализацию 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;
}

Конечно, всегда помнить , чтобы фактически назначить делегата экземпляра МАП к контроллеру вида (MKMapViewDelegate), либо в интерфейсе строителя, или в коде (например viewDidLoad).

Ответил 15/05/2012 в 08:00
источник пользователем

голоса
1

Я использовал идеи от этого лица в блоге для достижения этой цели. Это в основном включает в себя добавление прозрачного вида на карту. Карта затем позволяет преобразовывать адреса в точках зрения. Дайте мне знать, если сайт не поможет, и я могу попробовать и выкопать пример из моего кода.

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

Ответил 14/10/2009 в 20:59
источник пользователем

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