私はこのコードを持っています:
if (item.getItemId() == R.id.tempMap) {
locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
Location location = null;
if(locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER)||locationManager.isProviderEnabled(LocationManager.NETWORK_PROVIDER)){
Criteria criteria = new Criteria();
criteria.setAccuracy(Criteria.ACCURACY_FINE);
provider = locationManager.getBestProvider(criteria, true);
location = locationManager.getLastKnownLocation(provider);
locationManager.requestLocationUpdates(provider, 20000, 1, this);
if (location != null) {
Log.e("PROVIDER SCELTO", provider);
onLocationChanged(location);
Log.e("LATITUDE", String.valueOf(latitude));
Log.e("LONGITUDE", String.valueOf(longitude));
と:
public void onLocationChanged(Location location) {
// TODO Auto-generated method stub
latitude = location.getLatitude();
longitude = location.getLongitude();
}
しかし、それが返す最後のGPSポイントは、「Googleマップナビゲーター」を使用した後の最後のポイントです. そのため、gm navigator を使用しないと、緯度と経度が更新されません。
どうして???
ありがとうございました