개발 가이드
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
BlackBerryLocation 클래스를 사용하여 위성 정보 검색
GPS 수정값을 요청하고 현재 확인 가능한 위성 수, 추적된 위성, 평균적인 위성 신호 품질, GPS 데이터 소스(내부 또는 외부 GPS) 및 GPS 모드를 검색할 수 있습니다.
- 필요한 클래스를 가져옵니다.
import java.util.*; import java.lang.*; import net.rim.device.api.gps.*;
- 클래스와 생성자를 만듭니다.
public class handleGPS { public handleGPS() { } } - 클래스에서, 검색하는 위치 정보의 각 항목과 스레드에 대한 static 필드를 선언합니다.
static GPSThread gpsThread; static int satCount; static int signalQuality; static int dataSource; static int gpsMode;
- 생성자에서 스레드를 만들고 시작합니다.
gpsThread = new GPSThread(); gpsThread.start();
- 클래스에서 Thread를 확장하는 private static 클래스를 만들고 run() 메소드를 만듭니다.
private static class GPSThread extends Thread { public void run() { } } - run()에서 try/catch 블록을 만듭니다. 이 블록에서 GPS 모드를 지정하는 BlackBerryCriteria 클래스의 인스턴스를 만듭니다. 두 번째 try/catch 블록을 만듭니다. 이 블록에서 BlackBerryCriteria 객체의 인스턴스를 가져와서 BlackBerryLocationProvider 클래스의 인스턴스를 만듭니다.
try { BlackBerryCriteria myCriteria = new BlackBerryCriteria(GPSInfo.GPS_MODE_AUTONOMOUS); try { BlackBerryLocationProvider myProvider = (BlackBerryLocationProvider)LocationProvider.getInstance(myCriteria); - 세 번째 try/catch 블록(첫 번째 try/catch 블록 내)을 만듭니다. BlackBerryLocation 객체를 만들어 300초 시간 제한 만료를 포함한 GPS 수정값을 검색합니다. 필드를 채우고 위성 정보를 StringBuffer 객체로 추출합니다.
try { BlackBerryLocation myLocation = (BlackBerryLocation)myProvider.getLocation(300); satCount= myLocation.getSatelliteCount(); signalQuality = myLocation.getAverageSatelliteSignalQuality(); dataSource = myLocation.getDataSource(); gpsMode = myLocation.getGPSMode(); SatelliteInfo si; StringBuffer sb = new StringBuffer("[Id:SQ:E:A]\n"); String separator = ":"; for (Enumeration e = myLocation.getSatelliteInfo(); e!=null && e.hasMoreElements(); ) { si = (SatelliteInfo)e.nextElement(); sb.append(si.getId() + separator); sb.append(si.getSignalQuality() + separator); sb.append(si.getElevation() + separator); sb.append(si.getAzimuth()); sb.append('\n'); } } catch ( InterruptedException iex ) {} catch ( LocationException lex ) {}