어떤 위치의 경위도 정보를 얻다

3843 단어 android
모바일 앱에서는 어떤 위치의 경위도 정보를 얻어야 하는 경우도 있다.예를 들어 GPS의 위치가 정확하지 않을 때 수동으로 위치 정보를 선택하여 오류 정보를 수정할 수 있다.특히 일부 친구용 앱을 찾을 때는 분명히 사람이 A지 결과 지도에 표시한 결과가 B지에 1KM의 오차가 있어 납득할 수 없다.
곡괭이 위치 선택기를 사용하면 수동으로 지도에서 위치를 선택할 수 있고 선택한 위치의 경위도 정보를 복사하여 위치를 선택한 후 프로그램 인터페이스 오른쪽 아래를 클릭할 수 있다.버튼 옆에 있는 복사 버튼만 있으면 됩니다.제3자 개발자의 경우 곡嘀위치 선택기를 직접 호출하여 사용자가 위치를 선택하도록 하고 완성된 후에 사용자가 선택한 경위도 정보를 제3자 앱에 되돌려줄 수 있다.
곡嘀 위치 선택기 앱의 메인 인터페이스는 오른쪽 그림에 표시된 정보는 모두 제3자 앱이 맞춤형으로 제작할 수 있는 정보이다. 어떻게 맞춤형으로 제작하는지는 다음에 소개할 것이다.
쿠쿠 위치 선택
 
먼저 이 프로그램을 어떻게 호출해서 위치를 선택하는지 봅시다: 1.제3자 App은 Intent(goodev.intent.action.PICK LOCATION)를 통해 쿠쿠 위치 선택기를 호출한 다음에 Intent에 추가 데이터(함수 intent.putExtra(key,value))를 설정하여 쿠쿠 위치 선택기의 인터페이스를 맞춤형으로 만든다.
요소를 사용자정의할 수 있는 KEY는 다음과 같습니다.
TITLE: 선택 인터페이스의 제목을 사용자화합니다
ENABLE_SEARCH: 위치 검색을 사용할지 여부입니다.false이면 검색 단추와 위치 입력 상자를 숨기고 기본값은true입니다
SEARCH_HINT: 검색 위치 입력 상자의 입력 프롬프트를 사용자 정의합니다
SEARCH_TEXT: 검색 버튼의 텍스트 내용을 사용자화합니다
OK_TEXT: 완성 버튼의 텍스트 내용을 사용자 정의합니다
LOCATION_TEXT: 사용자가 선택한 위치 앞의 위치 레이블을 표시하는 텍스트를 사용자 정의합니다
ZOOM_LEVEL: 사용자 정의 지도의 기본 확대 축소 단계 (int형 숫자 범위는 1-21)
HELP_TEXT: 사용자 정의 도움말 인터페이스의 텍스트 내용(사용자가 인터페이스 오른쪽 아래에 있는? 단추를 누르면 도움말 인터페이스를 열기)
LATITUDE: 기본적으로 선택한 위치의 위도 좌표 정보를 사용자 정의합니다. 이 값은 문자열이고 내용은 위도 수치*1000000입니다. 예를 들어 기본 위치를 (12.343123.21)로 설정하려면 이 문자열은 "12343000"입니다
LONGITUDE: 문자열이 위와 같은 기본 경도 정보를 사용자화합니다
사용자가 선택한 후 반환되는 컨텐트는 다음과 같은 3개입니다.
LATITUDE: 컨텐트는 위도 좌표값*1000000, int형입니다
LONGITUDE: 내용은 경도 좌표값*1000000, int형입니다
ADDRESS: 반환된 내용은 android입니다.location.Address 객체는 네트워크에 액세스할 수 없는 경우와 같이 위치를 가져올 수 없으면 NULL로 돌아갑니다
이 프로그램의 호출을 간소화하기 위해 GoodevLocation PickCn.jar 이 파일(또는 소스 코드: Utils.java)을 다운로드하고 다음 코드를 통해 호출하면 됩니다.
돕다.
1
2
3
4
5
6 Intent intent = new Intent( "goodev.intent.action.PICK_LOCATION" ); intent.putExtra( "title" , "Pick a address!" ); intent.putExtra( "search" , true ); intent.putExtra( "latitude" , "12210000" ); intent.putExtra( "longitude" , "22210000" ); Utils.pickLocationOrShowDownloadDialog( this ,intent, 200 );
만약 사용자의 휴대전화에 아직 쿠쿠위치선택기가 설치되지 않았다면 설치가 필요하다는 대화상자가 뜨고 인터넷을 통해 다운로드하여 설치할 수도 있고 전자시장을 통해 설치할 수도 있다.다음 그림은 다음과 같습니다.
다운로드 대화 상자
사용자가 완료되면 다음과 같이 onActivityResult 함수에서 사용자가 선택한 결과를 처리해야 합니다.
돕다.
1
2
3
4
5
6
7
8
9 @Override protected void onActivityResult( int requestCode, int resultCode, Intent data) {      super .onActivityResult(requestCode, resultCode, data);      if (requestCode == 200 && resultCode == Activity.RESULT_OK) {          Address address = data.getParcelableExtra( "address" ); // : null          int latitudeE6 = data.getIntExtra(Utils.LATITUDE, 0 );          int longitudeE6 = data.getIntExtra(Utils.LONGITUDE, 0 );      } }
그림이 보이지 않으면 여기를 클릭하십시오:http://yunfeng.sinaapp.com/?p=332

좋은 웹페이지 즐겨찾기