ユーザーの現在地の緯度、経度をタッチイベントなしで見つける方法インターネットで検索しましたが、緯度、経度のみのタッチイベントを取得します。
質問する
822 次
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 に答える