LBS기능
Unity3D
개요
액세스 내비게이션
플레이어 위치 정보 획득
주변 사람 정보 획득
위치 정보를 공백으로 두십시오.
Android
개요
액세스 내비게이션
플레이어 위치 정보 획득
주변 사람 정보 획득
위치 정보를 공백으로 두십시오.
IOS
개요
액세스 내비게이션
플레이어 위치 정보 획득
주변 사람 정보 획득
위치 정보를 공백으로 두십시오.
기타
데이터 구조
시스템 도구
LBS기능 / IOS / 개요

개요

LBS 모듈이 플레이어의 위치 정보 및 주변 플레이어 정보를 획득할 수 있으며, 플레이어로 하여금 자신의 주변의 플레이어와 교류할 수 있게 합니다.


이미지 내 붉은 색 프레임에 관한 설명

귀하께서는 lbs 기능을 통해 주변 플레이어의 닉네임, 성별, 거리 등의 정보를 얻을 수 있습니다.

액세스 내비게이션

1 사전 요구 사항

1) 초기화 모듈 설명에 따라 초기화
2) LBS 인터페이스 호출을 위해서는 먼저 QQ/위챗에 로그인해야 합니다.


3) iOS8 시스템 호환을 위해, info.plist에서 아래 그림과 같이 NSLocationWhenInUseUsageDescription(string) 필드를 추가해야 합니다.

(./res/lbs_config.png)

2 Demo 예시를 참고하십시오.

콜백 설정은 MSDKDemo/MyObserver.mm 파일의 OnLocationGotWithLocationRet 메소드를 참조하십시오.

인터페이스 호츨은, MSDKDemo/LoginSucceedVC.mm 파일의 onClickGetNearbyPeople, onClickClearMyLocation, onClickMyLocationInfo 메소드를 참고하십시오.

플레이어 위치 정보 획득

콜백 등록

1) 기능 설명

플레이어 위치 정보 획득 인터페이스 WGGetLocationInfo는 획득한 지리적인 위치 정보(경도/위도)를 콜백 OnLocationGotNotify를 통해 게임에 회신할 수 있습니다.

2) 인터페이스 선언
void OnLocationGotNotify(LocationRet& locationRet)
3) 파라미터 설명
반환값 명칭 유형 설명
locationRet LocationRet 카테고리 위치 정보 구조체
4) 반환값

없음

5) 예시 코드
void MyObserver::OnLocationGotNotify(LocationRet& locationRet)

{

    NSString *flag = [NSString stringWithFormat:@"%d",locationRet.flag];

    NSString *desc = [NSString stringWithCString:(const char*)locationRet.desc.c_str() encoding:NSUTF8StringEncoding];

    NSString *latitudeStr = [NSString stringWithFormat:@"%f",locationRet.latitude];

    NSString *longitudeStr = [NSString stringWithFormat:@"%f",locationRet.longitude];

    NSMutableDictionary *personInfoDict = [NSMutableDictionary new];

    [personInfoDict setObject:flag forKey:@"flag"];

    [personInfoDict setObject:desc forKey:@"desc"];

    [personInfoDict setObject:latitudeStr forKey:@"latitude"];

    [personInfoDict setObject:longitudeStr forKey:@"longitude"];

}
6) 특수 설명

없음

7) 용어 해석

없음

호출 인터페이스

1) 기능 설명

플레이어의 지리적 위치 정보 획득: 경도/위도. 호출 결과를 OnLocationGotNotify에 콜백합니다.

2) 인터페이스 선언
bool WGGetLocationInfo();
3) 파라미터 설명

없음

4) 반환값

정상 회신 YES 호출은, 로그인하지 않았을 때는 appid가 비어 있으며, openid가 공백이면 NO를 회신합니다.

5) 예시 코드
WGPlatform::GetInstance()->WGGetLocationInfo();
6) 특수 설명

없음

7) 용어 해석

없음

주변 사람 정보 획득

콜백 등록

1) 기능 설명

현재 플레이어 주변에 있는 플레이어의 정보를 얻고, 결과는 OnLocationNotify 콜백을 통해 게임에 회신합니다.

2) 인터페이스 선언
void OnLocationNotify(RelationRet &relationRet)
3) 파라미터 설명
반환값 명칭 유형 설명
relationRet RelationRet 카테고리 사용자 정보 구조체
4) 반환값

없음

5) 예시 코드
void MyObserver::OnLocationNotify(RelationRet &relationRet) {

    NSLog(@"location callback");

    NSLog(@"count == %lu",relationRet.persons.size());

    NSMutableArray *personInfoArr = [NSMutableArray new];

    for (int i = 0; i < relationRet.persons.size(); i++)

    {

        PersonInfo logInfo = relationRet.persons[i];

        NSMutableDictionary *personInfoDict = [NSMutableDictionary new];

        NSString *nickName = [NSString stringWithCString:(const char*)logInfo.nickName.c_str() encoding:NSUTF8StringEncoding];

        NSString *openID = [NSString stringWithCString:(const char*)logInfo.openId.c_str() encoding:NSUTF8StringEncoding];

        NSString *gender = [NSString stringWithCString:(const char*)logInfo.gender.c_str() encoding:NSUTF8StringEncoding];

        NSString *pictureSmall = [NSString stringWithCString:(const char*)logInfo.pictureSmall.c_str() encoding:NSUTF8StringEncoding];

        NSString *pictureMiddle = [NSString stringWithCString:(const char*)logInfo.pictureMiddle.c_str() encoding:NSUTF8StringEncoding];

        NSString *pictureLarge = [NSString stringWithCString:(const char*)logInfo.pictureLarge.c_str() encoding:NSUTF8StringEncoding];

        NSString *province = [NSString stringWithCString:(const char*)logInfo.provice.c_str() encoding:NSUTF8StringEncoding];

        NSString *city = [NSString stringWithCString:(const char*)logInfo.city.c_str() encoding:NSUTF8StringEncoding];

        NSString *gpsCity = [NSString stringWithCString:(const char*)logInfo.gpsCity.c_str() encoding:NSUTF8StringEncoding];

        NSString *country = [NSString stringWithCString:(const char*)logInfo.country.c_str() encoding:NSUTF8StringEncoding];

    }

}
6) 특수 설명

없음

7) 용어 해석

없음

호출 인터페이스

1) 기능 설명

현재 플레이어 주변에 있는 같은 게임 플레이어의 정보를 획득합니다.

2) 인터페이스 선언
void WGGetNearbyPersonInfo();
3) 파라미터 설명

없음

4) 반환값

없음

5) 예시 코드
WGPlatform::GetInstance()->WGGetNearbyPersonInfo();
6) 특수 설명

없음

7) 용어 해석

없음

위치 정보를 공백으로 두십시오.

콜백 등록

위치 정보 인터페이스 WGCleanLocation의 콜백 메소드를 비우고 주변 사람의 인터페이스와 같은 결과를 획득하면 OnLocationNotify에 콜백할 수 있습니다. 구체적인 내용은 [주변 사람 획득 콜백 설정)#IOS_GetNearbyPersonInfo)을 참조하십시오.

호출 인터페이스

1) 기능 설명

위치 정보 인터페이스 비우기 호출은, 자신의 위치 정보를 지울 수 있는 기능으로, 다른 플레이어가 주변 사람 정보를 얻을 때 이 플레이어의 정보는 얻을 수 없습니다.

2) 인터페이스 선언
bool WGCleanLocation();
3) 파라미터 설명

없음

4) 반환값

정상 회신 YES 호출은, 로그인하지 않았을 때는 appid가 비어 있으며, openid가 공백이면 NO를 회신합니다.

5) 예시 코드
WGPlatform::GetInstance()->WGCleanLocation();
6) 특수 설명

없음

7) 용어 해석