このコードは、MapActivityのonCreateブロックで使用されます
lm = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
if (!lm.isProviderEnabled(LocationManager.GPS_PROVIDER))
{
Toast.makeText(this,
"Por favor, habilita el GPS antes de usar esta opción",
Toast.LENGTH_SHORT).show();
finish();
}
lm.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, this);
Location loc = lm.getLastKnownLocation(LocationManager.GPS_PROVIDER);
doYourMapMagicBaby(loc);
何があっても、locは常にnullを返します。とにかく、GPSで更新を登録すると、logcatは私の位置を正しく記録します。
08-24 09:21:18.479: D/libloc(260): Latitude: 40.4399979 (intermediate)
08-24 09:21:57.500: D/libloc(260): Longitude: -3.6700022
そのため、onLocationChanged()メソッドを介して実行したいことを実装できると思いました。運もありません。
public void onLocationChanged(Location location)
{
if (location != null)
{
System.out.println("La localizacion es: (lon: "
+ location.getLongitude() + ", lat: "
+ location.getLatitude() + ")");
doYourMapMagicBaby(location);
}
else
{
System.out.println("La location es nula");
}
}
私は何が間違っているのですか?