获取纬度,经度和插入网址

时间:2013-08-06 07:32:38

标签: android url latitude-longitude

enter image description here我得到了纬度和经度使用位置。 并保存在

private double mLatitude;

private double mLongitude;.

mLatitude = location.getLatitude();

mLongitude =location.getLongitude();

locationMg =(LocationManager)getSystemService(Context.LOCATION_SERVICE);

    Criteria criteria = new Criteria();
    criteria.setAccuracy(Criteria.ACCURACY_COARSE);
    criteria.setPowerRequirement(Criteria.POWER_LOW);
    criteria.setAltitudeRequired(false);
    criteria.setBearingRequired(false);
    criteria.setSpeedRequired(false);
    criteria.setCostAllowed(true);

    String bestProvider = locationMg.getBestProvider(criteria, true);
    Location location = locationMg.getLastKnownLocation(bestProvider);

    if(location != null){
        Toast.makeText(this,"Latitude" +location.getLatitude()+"\n"+"Longitude"+location.getLongitude(), 0).show();
         mLatitude = location.getLatitude();
         mLongitude = location.getLongitude();


    }

private String url ="http://api.openweathermap.org/data/2.5/weather?lat="+mLatitude+"&lon="+mLongitude+"&mode=xml";

我在运行此代码后看到了LogCat。 但是,经度和纬度的值为0.0。 为什么? 是因为字符串类型url ?????????????? 而纬度和经度只应输入两倍。 更改网址?

帮助。 我不知道该怎么做。

2 个答案:

答案 0 :(得分:0)

来自documention If the provider is currently disabled, null is returned from getLastKnownLocation()

检查location对象是否为null。

使用requestLocationUpdates (long minTime, float minDistance, Criteria criteria, PendingIntent intent)

注册位置更新

答案 1 :(得分:-1)

在位置已知之后,您可能没有定义网址。把它放在这里:

if(location != null){
        Toast.makeText(this,"Latitude" +location.getLatitude()+"\n"+"Longitude"+location.getLongitude(), 0).show();
         mLatitude = location.getLatitude();
         mLongitude = location.getLongitude();
         url ="http://api.openweathermap.org/data/2.5/weather?lat="+mLatitude+"&lon="+mLongitude+"&mode=xml";    
    }