Что вам нужно сделать, это сначала настроить слушатель GPS и ответить на него, вы можете найти информацию об этом здесь LocationManager
Это будет выглядеть примерно так.Имейте в виду, что GPS разряжает батарею, есть способы сделать это лучше, но вот суть этого, более или менее
Как только вы настроите эту настройку, просто сделайте то, что вам нужно сделать, в слушателе onLocationChanged
КОД SNIPPET - НЕ ЗАВЕРШЕН
import android.location.LocationListener;
import android.location.LocationManager;
import android.location.LocationProvider;
public class gps extends Activity {
private LocationManager locManager = null;
public void onCreate(Bundle state) {
super.onCreate(state);
locManager = (LocationManager)App.getSystemService(Context.LOCATION_SERVICE);
}
LocationListener onLocationChange=new LocationListener() {
public void onLocationChanged(Location loc) {
// DO SOMETHING HERE with the updated location information to change your map
}
}
public onResume() {
startGPS(1000,1); // Every second or when we move 1 meter
}
public onPause() {
stopGPS();
}
private boolean startGPS(long interval, float meterTrigger)
{
if (!locManager.isProviderEnabled(LocationManager.GPS_PROVIDER))
return false;
locManager.requestLocationUpdates(LocationManager.GPS_PROVIDER,interval,meterTrigger,onLocationChange);
return true;
}
public void stopGPS() {
locManager.removeUpdates(onLocationChange);
}
Рисование круга - вам нужно будет определить положение и радиус
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
float x = 0;
float y = 0;
float r = 0;
paint = new Paint(Paint.ANTI_ALIAS_FLAG); // You can cache this higher up and reuse it
paint.setColor(0xFFFF0000);
canvas.drawCircle(x, y, r, paint);
}