本帖最后由 bk461409485 于 2011-07-06 09:43:33 编辑

解决方案 »

  1.   

    //监视地点变化
       public final LocationListener mLocationListener01 = new LocationListener()
       { public void onLocationChanged(Location location) {
    // TODO Auto-generated method stub
    processLocationUpDated(location);
    } public void onProviderDisabled(String provider) {
    // TODO Auto-generated method stub

    } public void onProviderEnabled(String provider) {
    // TODO Auto-generated method stub

    } public void onStatusChanged(String provider, int status, Bundle extras) {
    // TODO Auto-generated method stub

    }
       
       };
       
       private void gpsdw()
    {
        try
        {
       
       
        mLocationManager01 = (LocationManager)getSystemService(Context.LOCATION_SERVICE);
         mLocation01 = getLocationProvider(mLocationManager01);
         if(mLocation01 != null)
         {
         processLocationUpDated(mLocation01);
         }
         //监视 时间为2秒距离为10米
         mLocationManager01.requestLocationUpdates(strLocationProvider, 2000, 10, mLocationListener01);
        }catch(Exception e)
        {
        e.printStackTrace();
        }
    }
      
       private void processLocationUpDated(Location location)
       {
        if(location != null)
        {
        Consts.Latitude = String.valueOf(location.getLatitude());
        Consts.Longitude = String.valueOf(location.getLongitude());
       
        }
       }
       
       private Location getLocationProvider(LocationManager lm){
        Location retLocation = null;
        try
        {
        Criteria mCriteria01 = new Criteria();
        mCriteria01.setAccuracy(mCriteria01.ACCURACY_COARSE);
        mCriteria01.setAltitudeRequired(false);
        mCriteria01.setBearingRequired(false);
        mCriteria01.setCostAllowed(true);
        mCriteria01.setSpeedRequired(false);
        mCriteria01.setPowerRequirement(Criteria.POWER_LOW);
        strLocationProvider = lm.getBestProvider(mCriteria01, true);
        //List<String> matchingProviders = lm.getProviders(mCriteria01,false);
        retLocation = lm.getLastKnownLocation(strLocationProvider);
        }catch(Exception e)
        {
        e.printStackTrace();
        }
       
        return retLocation;
       }

    这是我的代码,测试通过,程序中调用gpsdw()即可
    AndroidManifest.xml中记得加相关GPS权限
      

  2.   

    是这样的返回null 你去室外 或者 窗户口试试看看  GPS 信号不好 没获取到
      

  3.   

    看来并不是代码的错误!我明白了,这个Google Map目前因为没有真机环境怕是不好弄。
      

  4.   

    模拟器也可以手动在eclipse中加入经纬度测试
      

  5.   

    模拟器测试要加
    <uses-permission android:name="android.permission.ACCESS_MOCK_LOCATION"></uses-permission>