개발 가이드
Local Navigation
- 위치 기반 서비스 개요
- 위치 찾기
- 단말기에서 위치 서비스 켜기 및 쿼리하기
- GPS를 사용한 위치 검색
- GPS 모드 지정
- JSR 179를 사용하여 GPS 모드 지정
- BlackBerry JSR 179 확장 버전을 사용하여 GPS 모드 지정
- A-GPS 모드를 사용하여 위치 정보 검색
- 위치 공급자 검색
-
BlackBerry 단말기의 위치 검색
- BlackBerry 단말기의 위치 검색
- 코드 샘플: BlackBerry 단말기의 GPS 위치 검색
- 연속 수정값 요청을 지정하여 BlackBerry 단말기의 위치 검색
- 코드 샘플: 연속 수정값 요청을 사용하여 BlackBerry 단말기의 GPS 위치 검색
- 위치 클래스를 사용하여 위치 정보 검색
- 위치 클래스를 사용하여 위치 정보 검색
- 코드 샘플: 위치 클래스를 사용하여 GPS 위치 정보 검색
- BlackBerryLocation 클래스를 사용하여 위치 정보 검색
- BlackBerryLocation 클래스를 사용하여 위성 정보 검색
- 코드 샘플: BlackBerryLocation 클래스를 사용하여 위성 정보 검색
- 위치 정보 수신을 위한 기준 변경
- 코드 샘플: 위치 정보 검색을 위해 기준 변경
- 오류 처리
- 웹 페이지를 사용하여 GPS 위치 검색
- Geolocation을 사용한 위치 검색
- GPS 및 Geolocation으로 최적 수정값 검색
- GPS와 Geolocation 업데이트 동시 요청
- 지오코딩과 역 지오코딩
- 지오펜싱을 사용한 근접 정보 알림 수신
- 방향 또는 방위 알아내기
- 예상 이동 시간, 거리 및 출발 시간 검색
- 지도를 사용한 위치 시각화
- 지도의 모양 사용자 정의
- BlackBerry Maps와의 통합
- 자세한 정보 확인
- 용어
- 의견 제공
- 법적 고지
BlackBerry Manuals & Help
>
개발자 문서
>
Java 개발 가이드 및 API 참조서
>
개발 가이드
Location-Based Services - BlackBerry Java SDK - 7.0
위치 클래스를 사용하여 위치 정보 검색
GPS 수정값을 요청하여 위도, 경도, 속도, 진로 방향, 시간 스탬프 및 BlackBerry 단말기가 추적 중인 위성의 수를 검색할 수 있습니다.
- 필요한 클래스를 가져옵니다.
import javax.microedition.location.*;
- 클래스와 생성자를 만듭니다.
public class handleGPS { public handleGPS() { } } - 클래스에서, 검색하는 위치 정보의 각 항목과 스레드에 대한 static 필드를 선언합니다.
static GPSThread gpsThread; static double latitude; static double longitude; static float heading; static float velocity; static long timeStamp; static String nmeaString;
- 생성자에서 스레드를 만들고 시작합니다.
gpsThread = new GPSThread(); gpsThread.start();
- 클래스에서 Thread를 확장하는 private static 클래스를 만들고 run() 메소드를 만듭니다.
private static class GPSThread extends Thread { public void run() { } } - run()에서 Criteria 클래스의 인스턴스를 만듭니다. setCostAllowed(false)를 호출하여 자치 모드를 지정합니다.
Criteria myCriteria = new Criteria(); myCriteria.setCostAllowed(false);
- run()에서 try/catch 블록을 만듭니다. 이 블록에서 Criteria 객체의 인스턴스를 가져와서 LocationProvider 클래스의 인스턴스를 만듭니다. 이 블록 내에서 try/catch 블록을 만들고 Location 클래스의 인스턴스를 만들어 300초 시간 제한 만료를 포함한 현재 GPS 수정값을 검색합니다. 필드를 채우고 getExtraInfo("application/X-jsr179-location-nmea")를 호출하여 위성의 수를 지정합니다.
try { LocationProvider myLocationProvider = LocationProvider.getInstance(myCriteria); try { Location myLocation = myLocationProvider.getLocation(300); latitude = myLocation.getQualifiedCoordinates().getLatitude(); longitude = myLocation.getQualifiedCoordinates().getLongitude(); velocity = myLocation.getSpeed(); heading = myLocation.getCourse(); timeStamp = myLocation.getTimestamp(); nmeaString = myLocation.getExtraInfo ("application/X-jsr179-location-nmea"); } catch ( InterruptedException iex ) {} catch ( LocationException lex ) {} } catch ( LocationException lex ) {} return;
이전 주제: 위치 클래스를 사용하여 위치 정보 검색