개발 가이드

Local Navigation

위치 소스 쿼리

위치 데이터는 내장 GPS 수신기, 외장 GPS 수신기 또는 Geolocation 서비스 등의 다양한 위치 소스를 사용하여 검색될 수 있습니다. 위치 데이터를 검색하기 전에 BlackBerry 단말기에서 어떤 위치 소스를 지원하고 해당 위치 소스가 사용 가능한지 여부를 확인해야 합니다. 위치 소스는 다음과 같은 이유로 지원되지 않을 수도 있습니다.

  • 단말기 하드웨어에서 위치 소스를 지원하지 않습니다.
  • 무선 서비스 공급자에 의해 위치 소스가 꺼져 있습니다(서비스 북이 없음).
  • 모바일 네트워크 연결이 꺼져 있는 경우, 셀 사이트 Geolocation에 대해서는 위치 소스가 지원되지 않지만 GPS에 대해서는 위치 소스가 지원됩니다. 그러나 첫 번째 수정값을 얻는 데 시간이 많이 소요될 수 있습니다.
  • Wi-Fi 연결이 꺼져 있으면 WLAN 액세스 지점을 사용한 Geolocation에 대해서는 위치 소스가 지원되지 않습니다.
  • 네트워크 연결이 충분치 않으면 Geolocation 위치 소스가 지원되지 않습니다.

위치 소스는 해당 소스에 대한 모든 설정이 켜져 있어야 사용할 수 있습니다. 지원되는 위치 소스가 단말기에서 사용될 수 없는 경우도 있습니다. 예를 들어, BlackBerry 단말기 사용자가 위치 소스를 꺼둔 경우에는 해당 위치 소스를 사용할 수 없습니다.

위치 소스는 GPSInfoLocationInfo 클래스에 상수로 정의되어 있습니다. 상수는 다음 값 중 하나일 수 있습니다.

  • GPSInfo.GPS_DEVICE_INTERNAL
  • GPSInfo.GPS_DEVICE_BLUETOOTH
  • LocationInfo.LOCATION_SOURCE_GEOLOCATION
  • LocationInfo.LOCATION_SOURCE_GEOLOCATION_CELL
  • LocationInfo.LOCATION_SOURCE_GEOLOCATION_WLAN

위치 소스를 쿼리하려면 net.rim.device.api.gps.LocationInfo 클래스에 정의된 다음 메소드를 사용하십시오.

메소드

설명

getSupportedLocationSources()

이 메소드는 단말기에서 지원하는 위치 소스를 나타내는 정수 마스크를 반환합니다.

isLocationSourceSupported(int mode)

이 메소드는 지정한 소스가 단말기에서 지원되는 경우 true 값을 반환합니다.

getAvailableLocationSources()

이 메소드는 단말기에서 지원하는 위치 소스를 나타내는 정수 마스크를 반환합니다. 위치 소스를 사용할 수 있으려면 해당 위치 소스가 지원될 뿐 아니라 사용할 수 있게 설정되어 있어야 합니다.

isLocationSourceAvailable(int mode)

이 메소드는 지정한 모드를 위치 정보 제공에 사용할 수 있는 경우 true 값을 반환합니다.

코드 샘플: 위치 소스가 지원되는지 여부 확인

int locationCapability = LocationInfo
        .getSupportedLocationSources();
boolean gps = (locationCapability & (GPSInfo.GPS_DEVICE_INTERNAL | 
        GPSInfo.GPS_DEVICE_BLUETOOTH)) != 0

코드 샘플: 위치 소스가 사용 가능한지 여부 확인

if (LocationInfo.getAvailableLocationSources() != 0)

이 정보가 도움이 되었습니까? 의견을 보내 주십시오.