2015-01-07 9 views
0

저는 C++ 및 BB10 개발 (캐스케이드)을 처음 사용하고 있으며 Blackberry의 Qt의 QML 세미 구현 방법을 배우는 데 어려움을 겪고 있습니다.BB10 간단한 위치 정보 캐스케이드

저는 작업중인 앱이 있으며 전화의 위도, 경도 및 기타 주소 관련 정보 (시, 주, 국가 등)를 받고 싶습니다. QML에서 호출 할 기존 C++ 클래스를 등록하는 것과 같은 몇 가지 다른 방법을 시도했지만 라이브러리의 BB10 버전에서는 사용할 수없는 것들이 있습니다.

나는 Cascades에서 사용할 수있는 QtMobilitySubset.location 1.2 라이브러리가 PositionSource 및 Address 객체를 제공하지만 모든 데이터를 가져올 수 없다는 것을 알았습니다.

것은 내가 QML 문서의 "attachedObjects"부분을 포함 시켰습니다 : 다음

attachedObjects: [ 
    PositionSource { 
     id: positionSource 
     updateInterval: 5000 
     active: true 
    }, 
    Place { 
     id: place 
    }, 
    Address { 
     id: address 

    } 

] 

address.state를 호출하지만 빈 값을 얻을로 주소 정보를 얻는 시도했다. positionSource.position.coordinate.longitude에 동일하게 적용 - 값 없음.

Blackberry에서 제공하는 다른 예제를 살펴 보았지만 잘못하고있는 것을 확인할 수 없었습니다.

순수한 QML을 사용하여 위치 정보를 얻는 방법을 보여주는 예를 아는 사람이 있습니까?

+0

나는 도움이되지 않는다는 것을 알고 있지만 솔직히 말해서 나는 이러한 것들에 대해 C++을 사용하는 것이 좋습니다. 그것은 당신에게 더 많은 통제력을 주며 훨씬 더 잘 작동합니다. 그런 다음 QML UI를 C++에서 변경하십시오. –

+0

장소 및 주소가 마술처럼 역 지오 코딩을 수행한다는 아이디어는 무엇입니까? 그들은하지 않습니다. – onion

답변

0

qml 파일 import QtMobilitySubset.location 1.1에서 프로 파일에 LIBS += -lQtLocationSubset -lbbcascadesmaps -lGLESv1_CM을 추가하고 bar descriptor.xml에 응용 프로그램 탭에서 위치 및 인터넷을 선택했는지 확인하고 장치에서 위치 서비스가 켜져 있는지 확인하십시오. 아래 코드는 버튼 클릭시 위도와 경도를 인쇄합니다.

Container { 
    id:mainContainer 
    property string longitude 
    property string latitude 
    property variant cord 


Button:{ 
text: "Show" 
onClicked: 
    { 
    console.log("actual latitude:"+latitude+" actual longitude:"+longitude); 
    } 
} 

attachedObjects:[ 
PositionSource{ 
      id: locationPos 
      updateInterval: 1000 

      onPositionChanged: { 
       cord = locationPos.position.coordinate; 
       longitude = cord.longitude; 
       latitude = cord.latitude; 
      } 

     } 

] 


    onCreationCompleted: { 
     locationPos.start(); 
    } 
}