저는 현재 로봇 공학 프로젝트를 진행하고 있으며 Android 전화 (Samsung Galaxy S) 덕분에 로봇을 운전하기로 결정했습니다. 내 문제는 GPS 위치를 "매번"계산할 방법을 찾을 수 없다는 것입니다. 즉, 운전은 매우 작은 새로 고침 시간을 필요로하며, 나는 그것을 얻을 수 없습니다. 나는이 값은 단지 힌트주의로, 대해 refreshTime 500 예입니다 값 변수 인스턴트되는으로Android : 논스톱 위치 계산
mLocManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, this.refreshTime, 0, this);
,하지만 작동하지 않습니다 : 처음에, 난 그냥 이런 식으로 뭔가를 넣어 줄 알았는데 매개 변수가 아닙니다. 그래서 나는 잃어버린거야 ^^
할 수있는 방법이 있습니까?
이 주제에서는 질문하는 것이 좋습니다 ... GPS_PROVIDER을 (를) 설정할 때 내 위치가 계산되지 않는 이유를 알고 있습니까?
여기 내 전체 코드의 ... 내 위성이 켜져 있지만 아무것도 나는 내가 잘못 생각 때문에 반환있어 :package com.pIndus.gps;
import java.util.List;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.Context;
import android.content.DialogInterface;
import android.location.Location;
import android.location.LocationListener;
import android.location.LocationManager;
import android.os.Bundle;
import android.util.Log;
import android.widget.Toast;
public class Loc extends Activity {
/** Called when the activity is first created. */
private long refreshTime = 1000;
private LocationManager mLocManager;
private LocationListener mLocListener;
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
/* Use the LocationManager class to obtain GPS locations */
mLocManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
mLocListener = new MyLocationListener();
mLocManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, this.refreshTime, 0, mLocListener);
}
/* Class My Location Listener */
public class MyLocationListener implements LocationListener
{
@Override
public void onProviderDisabled(String provider)
{
Toast.makeText(getApplicationContext(), "Gps désactivé", Toast.LENGTH_SHORT).show();
Log.i("GPS", "GPS Desactivé");
}
@Override
public void onProviderEnabled(String provider)
{
Toast.makeText(getApplicationContext(),"Gps activé", Toast.LENGTH_SHORT).show();
Log.i("GPS", "GPS Activé");
}
@Override
public void onStatusChanged(String provider, int status, Bundle extras)
{
Toast.makeText(getApplicationContext(),"Statut changé", Toast.LENGTH_SHORT).show();
Log.i("GPS", "Statut changé");
}
@Override
public void onLocationChanged(Location loc)
{
loc.getLatitude();
loc.getLongitude();
String Text = "Localisation courante:\n " + "Latitude : " + loc.getLatitude() + "\n" + "Longitude : " + loc.getLongitude();
Log.i("GPS", "Localisation calculée");
Toast.makeText(getApplicationContext(), Text, Toast.LENGTH_SHORT).show();
}
}
public void onPause()
{
mLocManager.removeUpdates(mLocListener);
super.onPause();
}
public void onStop()
{
mLocManager.removeUpdates(mLocListener);
super.onStop();
}
}
내가 아는, 너희들이 나를 이해 희망 내 영어는 매우 나쁩니다.
그래서 내가 1Hz의이 ... GPS 수신기 칩은 일반적으로 일정한 간격으로 시리얼 라인에서 측정 (논리적으로) 보낼 것보다 훨씬 더 큰 주파수를 얻을 수 있다고 생각하지 않습니다
이미 게시 한 위치 : http : // stackoverflow .com/questions/5209722/android-non-stop-location-calculation –
오, 죄송합니다. 수정 버튼을 실수로했습니다. 나는 다른 스레드가 다시 삭제하도록 요청했습니다. 다시 미안합니다. – NachtNebel