개발 가이드
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
위치 정보 수신을 위한 기준 변경
LocationProvider 클래스의 인스턴스를 사용하여 BlackBerry 단말기의 위치를 추적하는 데 사용되는 기준을 자동으로 변경할 수 있습니다.
- 필요한 클래스와 인터페이스를 가져옵니다.
import net.rim.device.api.gps.GPSInfo; import javax.microedition.location.*;
- 클래스와 생성자를 만듭니다.
public class handleGPS { public handleGPS(int gpsMode) { } } - 클래스에서 위치 공급자, 위도, 경도, 고도, 속도 및 진로에 대한 static 필드를 정의합니다.
static LocationProvider locationProvider; static double lat, lon; static float alt, spd, crs;
- 생성자에서 다른 위치 추적 방법으로 전환하도록 LocationProvider 인스턴스를 설정하는 코드 블록을 추가합니다. LocationProvider 객체에서 reset()을 호출한 다음, 위치 수신기를 null로 설정하여 수신기를 비활성화합니다.
if (locationProvider != null) { locationProvider.reset(); locationProvider.setLocationListener(null, -1, -1, -1); } - 생성자에서 생성자에 매개 변수로 전달된 GPS 모드를 기반으로 Criteria 객체를 만들고 구성합니다.
Criteria myCriteria = new Criteria(); myCriteria.setPreferredResponseTime(Criteria.NO_REQUIREMENT); myCriteria.setCostAllowed(true); if ( gpsMode == GPSInfo.GPS_MODE_AUTONOMOUS ) { myCriteria.setCostAllowed(false); } else if ( gpsMode == GPSInfo.GPS_MODE_ASSIST ) { myCriteria.setPreferredPowerConsumption(Criteria.POWER_USAGE_MEDIUM); } else { myCriteria.setPreferredPowerConsumption(Criteria.POWER_USAGE_LOW); } - 생성자에서 try/catch 블록을 만듭니다. 이 블록에서 getInstance()를 호출하고 Criteria 객체를 매개 변수로 전달하여 LocationListener 클래스의 인스턴스를 만듭니다. 위치 수신기를 지정하여 GPS 위치 업데이트를 처리합니다.
try { locationProvider = LocationProvider.getInstance(myCriteria); if (locationProvider != null) { locationProvider.setLocationListener (new myLocationListener(), -1, -1, -1); } } catch (Exception err) {} - 클래스에서 LocationListener 인터페이스를 구현하는 private static 클래스를 만듭니다. locationUpdated() 메소드에서 현재 위치 정보를 검색합니다. providerStateChanged() 메소드의 기본 구현을 만들어 LocationProvider 상태를 모니터링합니다.
private static class myLocationListener implements LocationListener { public void locationUpdated(LocationProvider provider, Location location) { lat = location.getQualifiedCoordinates().getLatitude(); lon = location.getQualifiedCoordinates().getLongitude(); alt = location.getQualifiedCoordinates().getAltitude(); spd = location.getSpeed(); crs = location.getCourse(); } public void providerStateChanged(LocationProvider provider, int newState) {} }
다음 주제: 코드 샘플: 위치 정보 검색을 위해 기준 변경