본문으로 건너뛰기

위치 요청 결과

SDK 시작 이후 위치 요청 결과를 설명합니다.

위치 요청 진행 시, PlaceDelegate를 통해 PlengiResponse가 전달됩니다.


공통 필드

경고

안내하지 않은 필드들은 테스트용이거나 deprecated 예정이니 사용하지 않는 것을 권장합니다.

필드설명상세
echoCode사용자 식별 코드Plengi.setEchoCode()로 등록한 값
result위치 인식 결과SUCCESS: 위치 인식 성공
FAIL: 위치 인식 실패
errorReason실패 사유Location Acquisition Fail : 현재 위치 획득 실패
Not Allowed Client: 클라이언트 인증 실패 (clientID, clientSecret, bundle Identifier 확인 필요)
type요청 타입PLACE: 테스트용 요청
PLACE_EVENT: SDK 내부 로직에 따른 요청
placeEvent인식된 event 타입NOT_AVAILABLE: place 확인 불가(area, complex, geofence 등 다른 정보는 있을 수 있음)
ENTER: place 진입
NEARBY: place 근처

위치 인식 성공 시 주요 객체

경고

안내하지 않은 필드들은 테스트용이거나 deprecated 예정이니 사용하지 않는 것을 권장합니다.

경고

위치 정보를 종합해서 판단한 결과가 PlengiResponse로 전달됩니다.

판단 결과에 따라 매장 정보가 없이 상권 정보, 복합몰 정보만 있을 수 있고, 행정구역 정보만 있는 경우도 있습니다.
(일부 필드가 nil인 경우 또한 정상 동작)

모든 필드는 Optional이므로 활용하려는 값은 nil 여부를 확인한 뒤 사용해 주세요.

위치 요청 실패 여부는 공통 필드의 resulterrorReason를 확인해 주세요.

필드설명
place장소 정보 (매장)
area상권 정보
complex복합몰 정보
geoFence지오펜스 정보
district행정구역 정보
location기기 위·경도 정보

Place

포함된 위·경도는 장소의 위·경도입니다.

accuracy가 threshold보다 큰 경우에는 ENTER, 작은 경우에는 NEARBY로 판정합니다.

// 장소 정보
class Place {
var loplat_id: Int /// ID
var name: String /// 이름
var tags: String /// 관련된 태그
var floor: Int /// 층 정보
var lat: Double /// 장소의 위도
var lng: Double /// 장소의 경도
var accuracy: Double /// 정확도
var threshold: Double /// 임계값
var category: String /// 카테고리
var category_code: String /// 카테고리 코드
var address: String /// (구) 주소
var address_road: String /// (도로명) 주소
var post: String /// 우편번호
}

Area

Place 위치(없다면 기기 위치)가 상권 안일 경우, 상권 정보가 장소 인식 결과에 함께 전달됩니다.

포함된 위·경도는 사용자 기기 위치의 위·경도입니다.

// 상권 정보
class Area {
var id: Int /// ID
var name: String /// 이름
var lat: Double /// 기기 위도
var lng: Double /// 기기 경도

/// 지역 (도, 시 단위)
/// - ex) 서울, 경기도, 인천
var tag: String
}

Complex

Place 위치(없다면 기기 위치)가 복합몰 내인 경우, 복합몰 정보가 장소 인식 결과에 함께 전달됩니다.

// 복합몰 정보
class Complex {
var id: Int /// ID
var name: String /// 이름
var branch_name: String /// 지점
var category: String /// 카테고리
var category_code: String /// 카테고리 코드
}

Geofence & Fence

Place 위치(없다면 기기 위치)가 Geofence 내부인 경우, Geofence 정보가 장소 인식 결과에 함께 전달됩니다.

Fence 정보는 Geofence에 포함되어 전달됩니다.

// Geofence 정보
class Geofence {
var lat: Double /// Geofence 중심 위도
var lng: Double /// Geofence 중심 경도
var fences: Array<Fence> /// 하위 fence 리스트
}

// Fence 정보
class Fence {
var gfid: Int /// ID
var dist: Double /// 중심 좌표와 사용자 위치 간 거리
var name: String /// 이름
var client_code: String /// 고객사 관리 코드
}

District

Place 위치(없다면 기기 위치)가 특정 행정구역에 속하는 경우, 행정구역 정보가 장소 인식 결과에 함께 전달됩니다.

// 행정구역 정보
class District {
var lv0_code: String /// 국가 코드, code만 지원
var lv1_code: String /// 시, 도 코드
var lv1_name: String /// 시, 도 이름
var lv2_code: String /// 시, 구, 군 코드
var lv2_name: String /// 시, 구, 군 이름
var lv3_code: String /// 읍, 동, 면 코드
var lv3_name: String /// 읍, 동, 면 이름
}