GPS - 在Android中获得经纬度

时间:2012-04-09 11:06:16

标签: android gps locationmanager

我正在使用以下代码来获取当前的纬度和经度。但是没有显示任何祝酒词。

public void onCreate(Bundle savedInstanceState) {  

                super.onCreate(savedInstanceState);  

                setContentView(R.layout.main);  


                /* Use the LocationManager class to obtain GPS locations */    
                LocationManager mlocManager = (LocationManager)getSystemService(Context.LOCATION_SERVICE);   
                LocationListener mlocListener = new MyLocationListener();    
                mlocManager.requestLocationUpdates( LocationManager.GPS_PROVIDER, 0, 0, mlocListener);   
                 }     

             /* Class My Location Listener */    
            public class MyLocationListener implements LocationListener     {   
                @Override       
                public void onLocationChanged(Location loc)       {  
                    Log.i("","loccccccccccc");  
                    loc.getLatitude();        
                    loc.getLongitude();     
                    String Text = "My current location is: " +         "Latitud = " + loc.getLatitude() +         "Longitud = " + loc.getLongitude();    
                     Toast.makeText( getApplicationContext(), Text, Toast.LENGTH_LONG).show();    
                     }        

                @Override    
                public void onProviderDisabled(String provider)       {    
                    Toast.makeText( getApplicationContext(), "Gps Disabled", Toast.LENGTH_SHORT ).show();     
                    }         

                @Override     
                 public void onProviderEnabled(String provider)       {     
                    Toast.makeText( getApplicationContext(), "Gps Enabled", Toast.LENGTH_SHORT).show();   
                    }        

                 @Override        
                 public void onStatusChanged(String provider, int status, Bundle extras)       {     


                }        }
              } 

使用了所有权限:

<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />  

    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />  

    <uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />  

    <uses-permission android:name="android.permission.ACCESS_MOCK_LOCATION" />  

    <uses-permission android:name="android.permission.CONTROL_LOCATION_UPDATES" />  

    <uses-permission android:name="android.permission.INTERNET" />  

感谢您提前的帮助 斯纳

3 个答案:

答案 0 :(得分:0)

与NETWORK_PROVIDER相比,GPS_PROVIDER速度较慢。在室内可能无法正常工作。如果您想使用GPS_PROVIDER,请在GPS上切换。或者使用NETWORK_PROVIDER。

浏览this

注意:与GPS_Provider相比,Network_provider不是那么准确..但它很快..

See this link also

答案 1 :(得分:0)

GPS不能在室内模式下工作..取决于地方..它在户外模式下工作完美。所以在外面看看..

答案 2 :(得分:0)

@Sneha -

1)此行打印为Log.i("","loccccccccccc");

2)Check this

3)尝试使用标准

4)在移动设备(设备)上进行测试&amp;也在外面测试,因为GPS无法在里面工作。