1

ユーザーの現在地の緯度、経度をタッチイベントなしで見つける方法インターネットで検索しましたが、緯度、経度のみのタッチイベントを取得します。

4

2 に答える 2

3

ここであなたの同様の質問に答えました。それを見てください。グーグルマップは必要ありません。

public class LocationSampleActivity extends Activity implements OnInitListener 
{
    TextView tv;

    @Override 
    public void onCreate(Bundle savedInstanceState) 
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);         
        tv = (TextView)this.findViewById(R.id.txtLocation);
        tts = new TextToSpeech(this, this);
        LocationManager lm = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
        LocationListener ll = new mylocationlistener();
        lm.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 0, 0, ll);    
    }

    private class mylocationlistener implements LocationListener 
    {
        @Override 
        public void onLocationChanged(Location location) {    
            if (location != null) {
            Log.d("LOCATION CHANGED", location.getLatitude() + "");
            Log.d("LOCATION CHANGED", location.getLongitude() + "");
            String str = "\n CurrentLocation: "+
                "\n Latitude: "+ location.getLatitude() + 
                "\n Longitude: " + location.getLongitude();       
              tv.append(str);  
              speak(location);
            } 
        }

        @Override
        public void onProviderDisabled(String provider) {
            Toast.makeText(LocationSampleActivity.this,"Error onProviderDisabled",Toast.LENGTH_LONG).show();
        }    
        @Override
        public void onProviderEnabled(String provider) {
            Toast.makeText(LocationSampleActivity.this,"onProviderEnabled",Toast.LENGTH_LONG).show();
        }
        @Override
        public void onStatusChanged(String provider, int status, Bundle extras) {
            Toast.makeText(LocationSampleActivity.this,"onStatusChanged",Toast.LENGTH_LONG).show();
        }
    }
}

タッチせずに現在地の緯度経度をTextView簡単に更新します。重要な権限をマニフェスト ファイルに追加してください。

<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />       
<uses-permission android:name="android.permission.INTERNET" />     
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
于 2012-08-17T04:27:35.593 に答える
1

現在の場所を取得するには MyLocationOverlay を使用します。

   MyLocationOverlay whereAmI  = new MyLocationOverlay(this,mapview); 

   GeoPoint myLocationGeoPoint = whereAmI.getMyLocation();

   float latitude = myLocationGeoPoint.getLatitudeE6() / 1E6;

   float longitude = myLocationGeoPoint.getLongitudeE6() / 1E6;
于 2012-08-17T04:31:27.483 に答える