2010-02-22 3 views
2

BlackBerry 앱에서 사용자의 위도와 경도를 가져온 다음 그에 따라지도를 생성하고 싶습니다.BlackBerry 앱의 현재 위도와 경도

어떻게하면됩니까?

내 코드는 다음과 같습니다

import java.util.Timer; 
import java.util.TimerTask; 

import javax.microedition.location.Criteria; 
import javax.microedition.location.Location; 
import javax.microedition.location.LocationListener; 
import javax.microedition.location.LocationProvider; 
import javax.microedition.location.QualifiedCoordinates; 

import net.rim.device.api.system.Application; 




public class GPS_Location 
{ 
    private String log; 
     double longi; 
     double lati; 

    public GPS_Location() 
    { 
     new LocationTracker(); 
    } 
    public boolean onClose() 
    { 
     Application.getApplication().requestBackground();  
     return false; 
    } 


class LocationTracker extends TimerTask 
{ 
    private double longitude, latitude; 

    private Timer timer; 
    private LocationProvider provider; 
    Criteria cr; 

    public LocationTracker() 
    { 
     timer = new Timer(); 
     cr= new Criteria(); 
     resetGPS(); 

     timer.schedule(this, 0, 60000); 
    } 

    public void resetGPS() 
    { 

     try 
     { 
      provider = LocationProvider.getInstance(cr); 
      if(provider != null) 
      { 
       /*provider.setLocationListener(null, 0, 0, 0); 
       provider.reset(); 
       provider = null;*/ 
       provider.setLocationListener(new MyLocationListener(), 3, -1, -1); 
      } 

      //provider = LocationProvider.getInstance(null); 

     } catch(Exception e) 
     { 

     } 
    } 


    public void run() 
    { 
     System.out.println("********************"); 
    } 

    private class MyLocationListener implements LocationListener 
    { 
     public void locationUpdated(LocationProvider provider, Location location) 
     { 
      if(location != null && location.isValid()) 
      {    
       QualifiedCoordinates qc = location.getQualifiedCoordinates(); 

       try 
       { 
        lati = location.getQualifiedCoordinates().getLatitude(); 
        System.out.println("********************latitude :: "+lati); 
        longi = location.getQualifiedCoordinates().getLongitude(); 
        System.out.println("********************longitude ::"+longi); 

       } 
       catch(Exception e) 
        { 

        } 
      } 

     } 

     public void providerStateChanged(LocationProvider provider, int newState) 
     { 
      //LocationTracker.this.resetGPS(); 
      if(newState == LocationProvider.TEMPORARILY_UNAVAILABLE) 
       { 
        provider.reset(); 
        provider.setLocationListener(null, 0, 0, -1); 
       } 
     } 
    } 
    } 
} 
+0

가능한 경우 질문에 예비 코드를 제공하려고 시도한 사례를 보여줍니다. None-the-less, 아래 출발점이 있습니다. –

답변

1

구글 result (동시 스택 오버플로)는 API 호출의 getLocation을 보여준다(). 이것은 경도와 위도를 검색하기위한 시작점을 제공 할 수 있습니다.

가산; 다음 내용이 도움이 될 수 있습니다 (귀하의 의견에 기반한 용어를 사용한 후속 Google 검색에서) : http://www.blackberryforums.com/developer-forum/133152-location-api.html. 나는 코드의 일부를 인용 하겠지만 거기에는 상당한 정보가있다. 링크가 유효하게 남아 있기를 바랍니다. 아니면 찾을 때 솔루션을 게시하십시오 :)

+0

location.getQualifiedCordinates를 사용했지만 위도 n 경도에 대한 yeilds 0 값, 심지어 시뮬레이터의 좌표 값도 변경했습니다. – Swati

+0

안녕하세요 섀도 저는 제안 된 링크와 동일한 방식으로 작업했지만 결과가 0/0 일 때마다 (시뮬레이터 폭풍에 대해 작업 중입니다. 9000). – Swati

+1

안녕하세요, frnz 내 오류있어 시뮬레이터 값이 제대로 설정되지 않았습니다 .... 하지만 고마워 fr 도움말 !!!!!!!!!!!!!! – Swati

관련 문제