現在地の緯度と経度はわかりますが、現在地を変更する前は表示されません。現在地を変更せずに現在地の経度と緯度を取得したいです。
package com.example.gps;
import android.app.Activity;
import android.content.Context;
import android.location.Location;
import android.location.LocationListener;
import android.location.LocationManager;
import android.os.Bundle;
import android.util.Log;
import android.view.Menu;
import android.widget.Button;
import android.widget.Toast;
import com.google.android.maps.MapController;
import com.google.android.maps.MapView;
public class MainActivity extends Activity {
MapView m;
Button b,b1,b2;
MapController mc;double l1;double l2;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
LocationManager mlocManager =
(LocationManager)getSystemService(Context.LOCATION_SERVICE);
boolean net = mlocManager.isProviderEnabled(LocationManager.GPS_PROVIDER);
Location l = null;
if(net)
l= mlocManager.getLastKnownLocation(LocationManager.GPS_PROVIDER);
if(l!=null)
{
l1 = l.getLongitude();
l2 = l.getLatitude();
}
Toast.makeText(getApplicationContext(),l1+".."+l2, Toast.LENGTH_LONG).show();
LocationListener mlocListener = new MyLocationListener();
mlocManager.requestLocationUpdates( LocationManager.GPS_PROVIDER, 0, 0, mlocListener);
}
public class MyLocationListener implements LocationListener
{
@Override
public void onLocationChanged(Location loc)
{
loc.getLatitude();
loc.getLongitude();
String Text = "My current location is: "+
"Latitud = " + loc.getLatitude() +
"Longitud = " + loc.getLongitude();
Toast.makeText( getApplicationContext(),
Text,
Toast.LENGTH_SHORT).show();
}
@Override
public void onProviderDisabled(String provider)
{
Toast.makeText( getApplicationContext(),
"Gps Disabled",
Toast.LENGTH_SHORT ).show();
}
@Override
public void onProviderEnabled(String provider)
{
Toast.makeText( getApplicationContext(),
"Gps Enabled",
Toast.LENGTH_SHORT).show();
}
@Override
public void onStatusChanged(String provider, int status, Bundle extras)
{
}
}
}
このコードは onLocationChanged(Location loc) メソッドからデータを返すため、デバイスにインストールした後、場所を変更せずにデータを取得することはできません.しかし、場所を変更せずに緯度、経度が必要です.それは可能ですか.解決策を教えてください