반응형

1. Capabilities

Maps 부분 On 으로 설정


2. 프로젝트 내 "***.entitlements" 파일 추가

Entitlements File(Dictionary) -> Maps(Boolean)-> YES 추가


3. Build Settings

Code Signing-> Code Signing Entitlements에 위 파일 추가



.h

#import <MapKit/MapKit.h>

@interface ViewController : NSViewController <MKMapViewDelegate>

{

    MKMapView *map

}


.m

//클릭 해서 핀 찍기

    NSClickGestureRecognizer *click = [[NSClickGestureRecognizer alloc] initWithTarget:self action:@selector(foundTap:)];

    click.buttonMask = 2; // right button

    click.numberOfClicksRequired = 1;

    click.delegate = self;

    [map addGestureRecognizer:click];

-(IBAction)foundTap:(NSClickGestureRecognizer *)recognizer

{

    [map removeAnnotations:map.annotations]; //기존 핀 삭제


    CGPoint point = [recognizer locationInView:map];

    CLLocationCoordinate2D tapPoint = [map convertPoint:point toCoordinateFromView:map];

    

    MKPointAnnotation *point1 = [[MKPointAnnotation alloc] init];

    point1.coordinate = tapPoint;

    [map addAnnotation:point1];

}


//줄 긋기

        [map removeOverlays:map.overlays]; //기존 오버레이 삭제


        NSInteger numberOfSteps = locationArr.count; // coordinate 배열

        CLLocationCoordinate2D coordinates[numberOfSteps];

        for (NSInteger index = 0; index < numberOfSteps; index++) {

            

            coordinates[index] = [locationArr objectAtIndex:index];

        }

        

        MKPolyline *polyLine = [MKPolyline polylineWithCoordinates:coordinates count:numberOfSteps];

        [map addOverlay:polyLine];


-(MKOverlayRenderer *)mapView:(MKMapView *)mapView rendererForOverlay:(id<MKOverlay>)overlay{

    MKPolylineRenderer *polylineView = [[MKPolylineRenderer alloc] initWithPolyline:overlay];

    polylineView.strokeColor = [NSColor blueColor];

    polylineView.lineWidth = 3.0;

    return polylineView;

}


//지도 위치 지정

[map setRegion:MKCoordinateRegionMakeWithDistance(coordinate, 1024, 1024)];


//맵 타입 변경

[map setMapType:MKMapTypeStandard]; //MKMapTypeHybrid, MKMapTypeSatellite, MKMapTypeSatelliteFlyover, MKMapTypeHybridFlyover

반응형

'MacOS > objective-c' 카테고리의 다른 글

맥 키보드 입력 받기  (0) 2018.12.14
맥 파일 드래그 엔 드롭 뷰 만들기  (0) 2018.12.14
메뉴 바 아이콘 앱  (0) 2018.12.14
블로그 이미지

앱스페이스

,