좌표 객체

좌표는 카메라나 오버레이의 위치같은 지리적 정보를 표현하기 위한 최소 단위로, 지도를 구성하는 가장 기본적인 요소입니다. 지도와 관련된 많은 API는 좌표 또는 영역을 파라미터로 받거나 반환합니다.

좌표

네이버 지도 SDK는 지구 표면의 한 지점을 위도와 경도로 표현하는 지리 좌표계를 기본 좌표계로 사용하며, 이와 관련된 기능을 제공합니다. 또한 기본 좌표계로 변환할 수 있는 몇 가지 다른 좌표계도 제공합니다.

NMGLatLng

NMGLatLng는 하나의 위경도 좌표를 나타내는 클래스입니다. latNMGLatLng(py)lat) 속성이 위도를, lngNMGLatLng(py)lng) 속성이 경도를 나타냅니다. NMGLatLng의 모든 속성은 생성자로만 지정할 수 있고, 한 번 생성된 객체의 속성은 변경할 수 없습니다.

다음은 NMGLatLng 객체를 생성하고 콘솔에 위도와 경도를 출력하는 예제입니다.

let coord = NMGLatLng(lat: 37.5670135, lng: 126.9783740)

print("위도: \(coord.lat), 경도: \(coord.lng)")

Swift

let coord = NMGLatLng(lat: 37.5670135, lng: 126.9783740)

print("위도: \(coord.lat), 경도: \(coord.lng)")

Objective-C

NMGLatLng *coord = NMGLatLngMake(37.5670135, 126.9783740);

NSLog(@"위도: %f, 경도: %f", coord.lat, coord.lng);

다른 좌표계

네이버 지도 SDK는 NMGLatLng 외에도 몇 가지 자주 사용되는 좌표계를 제공합니다. 지원하는 좌표계는 다음과 같습니다.

각 클래스의 -toLatLng 메서드를 사용해 다른 좌표를 위경도 좌표로 변환하거나, NMGLatLng를 파라메터로 받는 생성자를 사용해 위경도 좌표를 해당하는 좌표로 변환할 수 있습니다.

다음은 NMGUtmkNMGLatLng로 변환하는 예제입니다.

let utmk = NMGUtmk(x: 953935.5, y: 1952044.1)
let latLng = utmk.toLatLng()

Swift

let utmk = NMGUtmk(x: 953935.5, y: 1952044.1)
let latLng = utmk.toLatLng()

Objective-C

NMGUtmk *utmk = NMGUtmkMake(953935.5, 1952044.1);
NMGLatLng *latLng = utmk.toLatLng();

다음은 NMGLatLngNMGUtmk로 변환하는 예제입니다.

let latLng = NMGLatLng(lat: 37.5666103, lng: 126.9783882)
let utmk = NMGUtmk(from: latLng)

Swift

let latLng = NMGLatLng(lat: 37.5666103, lng: 126.9783882)
let utmk = NMGUtmk(from: latLng)

Objective-C

NMGLatLng *latLng = NMGLatLngMake(37.5666103, 126.9783882);
NMGUtmk *utmk = [NMGUtmk utmkFromLatLng:latlng];

MBR

각각 남서쪽과 북동쪽 꼭지점을 의미하는 두 개의 좌표가 주어진다면 직사각형 형태의 영역을 만들 수 있습니다. 이를 최소 경계 사각형 또는 MBR(Minimum Bounding Rectangle)이라고 부릅니다. MBR은 하나의 영역을 나타내는 가장 간단한 방법이므로 영역을 다루는 API에서 자주 사용됩니다.

NMGLatLngBounds

NMGLatLngBounds는 위경도 좌표로 이루어진 하나의 MBR을 나타내는 클래스입니다. southWestNMGLatLngBounds(py)southWest) 속성이 남서쪽 좌표를, northEastNMGLatLngBounds(py)northEast) 속성이 북동쪽 좌표를 나타냅니다. NMGLatLngBounds의 모든 속성은 readonly이므로 각 속성은 생성자로만 지정할 수 있고, 한 번 생성된 객체의 속성은 변경할 수 없습니다.

다음은 NMGLatLngBounds 객체를 생성하는 예제입니다.

let southWest = NMGLatLng(lat: 31.43, lng: 122.37)
let northEast = NMGLatLng(lat: 44.35, lng: 132)
let bounds = NMGLatLngBounds(southWest: southWest, northEast: northEast)

Swift

let southWest = NMGLatLng(lat: 31.43, lng: 122.37)
let northEast = NMGLatLng(lat: 44.35, lng: 132)
let bounds = NMGLatLngBounds(southWest: southWest, northEast: northEast)

Objective-C

NMGLatLng *southWest = NMGLatLngMake(31.43, 122.37);
NMGLatLng *northEast = NMGLatLngMake(44.35, 132);
NMGLatLngBounds *bounds = [NMGLatLngBounds latLngBoundsSouthWest:southWest northEast:northEast];

results matching ""

    No results matching ""